(57)【特許請求の範囲】
【請求項１】
所定のデータ単位毎にブロック化された画像データが、ブロック毎に符号化された符号化データ、および、前記符号化データを前方誤り訂正方式により符号化して得られる前記符号化データの冗長データを取得する取得手段と、
前記ブロック毎に、
前記ブロックに含まれる全ての前記取得手段により取得された前記符号化データが揃っている場合には、前記符号化データと、復号済みのブロックの、復号途中の中間データを用いて復号し、
前記ブロックに含まれる全ての前記取得手段により取得された前記符号化データが揃っていない場合には、損失した前記符号化データの代わりに用いるダミーデータと、前記符号化データと、復号済みのブロックの、復号途中の中間データを用いて復号する復号手段と、
前記取得手段により取得された前記符号化データおよび前記冗長データを、前記前方誤り訂正方式により復号し、損失した前記符号化データを回復する前方誤り訂正方式復号手段と、
前記前方誤り訂正方式復号手段により回復された前記符号化データを復号し、復号途中に得られる中間データを、復号済みのブロックの復号途中の中間データとして、後続のブロックの復号に使用させるように設定する設定手段と
を備える情報処理装置。
【請求項２】
前記復号手段に、所定の同期信号に合わせた所定のタイミングで、前記符号化データの復号を行わせる同期手段と、
前記前方誤り訂正方式復号手段による前記符号化データの回復が、前記同期手段により制御される、前記復号手段の前記符号化データのブロックの復号開始タイミングより前か否かを判定する同期判定手段と
をさらに備え、
前記同期判定手段により前記符号化データの回復が前記復号開始タイミングより前であると判定された場合、前記復号手段は、前記前方誤り訂正方式復号手段により回復された前記符号化データと前記ブロックに含まれる前記符号化データと復号済みのブロックの復号途中の中間データを用いて復号し、
前記同期判定手段により前記符号化データの回復が前記復号開始タイミングより前でないと判定された場合、前記前方誤り訂正方式復号手段により回復された前記符号化データを復号し、復号途中に得られる中間データを、復号済みのブロックの復号途中の中間データとして、後続のブロックの復号に使用させるように設定する
請求項１に記載の情報処理装置。
【請求項３】
前記復号手段は、
前記符号化データをエントロピ復号する第１のエントロピ復号手段と、
前記第１のエントロピ復号手段により前記符号化データが復号されて得られる係数データを逆量子化する第１の逆量子化手段と、
前記第１の逆量子化手段により逆量子化された前記係数データをウェーブレット逆変換するウェーブレット逆変換手段と
を備え、
前記設定手段は、
前記前方誤り訂正方式復号手段により回復された前記符号化データをエントロピ復号する第２のエントロピ復号手段と、
前記第２のエントロピ復号手段により前記符号化データが復号されて得られる係数データを逆量子化する第２の逆量子化手段と、
前記第２の逆量子化手段により逆量子化された前記係数データを用いて、前記ウェーブレット逆変換が保持する、前記ウェーブレット逆変換に使用する前記中間データを更新する更新手段と
を備える請求項１または請求項２に記載の情報処理装置。
【請求項４】
情報処理装置の情報処理方法であって、
前記情報処理装置の取得手段が、所定のデータ単位毎にブロック化された画像データが、ブロック毎に符号化された符号化データ、および、前記符号化データを前方誤り訂正方式により符号化して得られる前記符号化データの冗長データを取得し、
前記情報処理装置の復号手段が、前記ブロック毎に、
前記ブロックに含まれる全ての前記取得手段により取得された前記符号化データが揃っている場合には、前記符号化データと、復号済みのブロックの、復号途中の中間データを用いて復号し、
前記ブロックに含まれる全ての前記取得手段により取得された前記符号化データが揃っていない場合には、喪失した前記符号化データの代わりに用いるダミーデータと、前記符号化データと、復号済みのブロックの、復号途中の中間データを用いて復号し、
前記情報処理装置の前方誤り訂正方式復号手段が、取得された前記符号化データおよび前記冗長データを、前記前方誤り訂正方式により復号し、損失した前記符号化データを回復し、
前記情報処理装置の設定手段が、回復された前記符号化データを復号し、復号途中に得られる中間データを、復号済みのブロックの復号途中の中間データとして、後続のブロックの復号に使用させるように設定する
情報処理方法。
【請求項５】
所定のデータ単位毎にブロック化された画像データを、ブロック毎に符号化する符号化手段と、
損失した符号化データを回復し、回復した前記符号化データを当該ブロックの復号および復号途中に得られる中間データを後続のブロックの符号化データの復号に使用するために、前記符号化手段により前記画像データが符号化されて得られる符号化データを、第１のデータ単位毎に、前方誤り訂正方式により符号化する第１の前方誤り訂正方式符号化手段と、
復号途中に得られる中間データを後続のブロックの符号化データの復号に使用するために、前記符号化手段により前記画像データが符号化されて得られる符号化データを、前記第１のデータ単位よりも大きな第２のデータ単位毎に前方誤り訂正方式により符号化する第２の前方誤り訂正方式符号化手段と、
前記符号化手段により前記画像データが符号化されて得られる符号化データ、前記第１の前方誤り訂正方式符号化手段により前記符号化データが符号化されて得られる第１の冗長データ、および、前記第２の前方誤り訂正方式符号化手段により前記符号化データが符号化されて得られる第２の冗長データを送信する送信手段と
を備える情報処理装置。
【請求項６】
前記第１のデータ単位の大きさを決定する第１のデータ単位決定手段と、
前記第２のデータ単位の大きさを決定する第２のデータ単位決定手段と
をさらに備え、
前記第１の前方誤り訂正方式符号化手段は、前記第１のデータ単位決定手段により決定された前記第１のデータ単位毎に、前記符号化データを前方誤り訂正方式により符号化し、
前記第２の前方誤り訂正方式符号化手段は、前記第２のデータ単位決定手段により決定された前記第２のデータ単位毎に、前記符号化データを前方誤り訂正方式により符号化する
請求項５に記載の情報処理装置。
【請求項７】
前記第２のデータ単位決定手段は、前記ブロックと当該ブロックの復号途中に生成される中間データと、復号に使用する０個以上の後続のブロックとを合わせたブロック以下となるように前記第２のデータ単位を決定する
請求項６に記載の情報処理装置。
【請求項８】
前記符号化データの復号処理において、所定のサイズもしくは所定の再生時間に相当するサイズの前記符号化データがバッファに格納されてから復号される場合、
前記第１のデータ単位決定手段は、前記第１のデータ単位の大きさを前記バッファサイズ以下とし、
前記第２のデータ単位決定手段は、前記第２のデータ単位の大きさを前記バッファサイズ以上とする
請求項６または請求項７に記載の情報処理装置。
【請求項９】
前記符号化データが伝送されるネットワークの状況を示すネットワーク状況情報を取得するネットワーク状況情報取得手段をさらに備え、
前記第１のデータ単位決定手段は、前記ネットワーク状況情報取得手段により取得された前記ネットワーク状況情報を用いて前記第１のデータ単位の大きさを決定し、
前記第２のデータ単位決定手段は、前記ネットワーク状況情報取得手段により取得された前記ネットワーク状況情報を用いて前記第２のデータ単位の大きさを決定する
請求項６乃至請求項８のいずれかに記載の情報処理装置。
【請求項１０】
前記第１の前方誤り訂正方式符号化手段による前方誤り訂正方式の符号化の冗長度である第１の冗長度を決定する第１の冗長度決定手段と、
前記第２の前方誤り訂正方式符号化手段による前方誤り訂正方式の符号化の冗長度である第２の冗長度を決定する第２の冗長度決定手段と
をさらに備え、
前記第１の前方誤り訂正方式符号化手段は、前記第１の冗長度決定手段により決定された前記第１の冗長度で、前記符号化データを前方誤り訂正方式により符号化し、
前記第２の前方誤り訂正方式符号化手段は、前記第２の冗長度決定手段により決定された前記第２の冗長度で、前記符号化データを前方誤り訂正方式により符号化する
請求項５乃至請求項９のいずれかに記載の情報処理装置。
【請求項１１】
前記符号化データが伝送されるネットワークの状況を示すネットワーク状況情報を取得するネットワーク状況情報取得手段をさらに備え、
前記第１の冗長度決定手段は、前記ネットワーク状況情報取得手段により取得された前記ネットワーク状況情報を用いて前記第１の冗長度を決定し、
前記第２の冗長度決定手段は、前記ネットワーク状況情報取得手段により取得された前記ネットワーク状況情報を用いて前記第２の冗長度を決定する
請求項１０に記載の情報処理装置。
【請求項１２】
前記第１の冗長度決定手段は、前記第２のデータ単位内において、時間的に後のブロックの冗長度を下げる
請求項１０および請求項１１に記載の情報処理装置。
【請求項１３】
前記ネットワーク状況情報は、パケット損失率、伝送遅延、送受信データレート、伝送ジッタのうち少なくともいずれか１つを含む
請求項１１に記載の情報処理装置。
【請求項１４】
前記ネットワーク状況情報は、さらに、所定数以上の連続パケットの損失の発生率、若しくは、所定区間中のパケット損失数が所定数以上である頻度を示すバーストパケット損失率の想定値を含む
請求項１３に記載の情報処理装置。
【請求項１５】
前記符号化データが伝送されるネットワークの状況を示すネットワーク状況情報として、前記ネットワーク状況情報は、所定数以上の連続パケットの損失の発生率、若しくは、所定区間中のパケット損失数が所定数以上である頻度を示すバーストパケット損失率を取得するネットワーク状況情報取得手段と、
前記第１のデータ単位の大きさを決定する第１のデータ単位決定手段と、
前記第２のデータ単位の大きさを決定する第２のデータ単位決定手段と、
前記第１の前方誤り訂正方式符号化手段による前方誤り訂正方式の符号化の冗長度である第１の冗長度を決定する第１の冗長度決定手段と、
前記第２の前方誤り訂正方式符号化手段による前方誤り訂正方式の符号化の冗長度である第２の冗長度を決定する第２の冗長度決定手段と
をさらに備え、
前記第１の前方誤り訂正方式符号化手段は、前記第１のデータ単位決定手段により決定された前記第１のデータ単位毎に、前記第１の冗長度決定手段により決定された前記第１の冗長度で、前記符号化データを前方誤り訂正方式により符号化し、
前記第２の前方誤り訂正方式符号化手段は、前記第２のデータ単位決定手段により決定された前記第２のデータ単位毎に、前記第２の冗長度決定手段により決定された前記第２の冗長度で、前記符号化データを前方誤り訂正方式により符号化し、
前記ネットワーク状況情報取得手段により取得された前記バーストパケット損失率が所定の値以上である場合、
前記第１のデータ単位決定手段が、前記第１のデータ単位を大きくし、
前記第２のデータ単位決定手段が、前記第２のデータ単位を大きくするか、
若しくは、
前記第１の冗長度決定手段が、前記第１の冗長度を大きくし、
前記第２の冗長度決定手段が、前記第２の冗長度を大きくするか、
若しくは、
前記第１のデータ単位決定手段が、前記第１のデータ単位を大きくし、
前記第２のデータ単位決定手段が、前記第２のデータ単位を大きくし、
前記第１の冗長度決定手段が、前記第１の冗長度を大きくし、
前記第２の冗長度決定手段が、前記第２の冗長度を大きくする
請求項５に記載の情報処理装置。
【請求項１６】
情報処理装置の情報処理方法であって、
前記情報処理装置の符号化手段が、所定のデータ単位毎にブロック化された画像データを、ブロック毎に符号化し、
前記情報処理装置の第１の前方誤り訂正方式符号化手段が、損失した符号化データを回復し、回復した前記符号化データを当該ブロックの復号および復号途中に得られる中間データを後続のブロックの符号化データの復号に使用するために、前記画像データが符号化されて得られる符号化データを、第１のデータ単位毎に、前方誤り訂正方式により符号化し、
前記情報処理装置の第２の前方誤り訂正方式符号化手段が、復号途中に得られる中間データを後続のブロックの符号化データの復号に使用するために、前記画像データが符号化されて得られる符号化データを、前記第１のデータ単位よりも大きな第２のデータ単位毎に前方誤り訂正方式により符号化し、
前記情報処理装置の送信手段が、前記画像データが符号化されて得られる符号化データ、前記第１の前方誤り訂正方式により前記符号化データが符号化されて得られる第１の冗長データ、および、前記第２の前方誤り訂正方式により前記符号化データが符号化されて得られる第２の冗長データを送信する
情報処理方法。
【請求項１７】
所定のデータ単位毎にブロック化された画像データがブロック毎に符号化された符号化データ、前記符号化データを第１のデータ単位毎に前方誤り訂正方式により符号化して得られる前記符号化データの第１の冗長データ、および、前記符号化データを、前記第１のデータ単位よりも大きい第２のデータ単位毎に前方誤り訂正方式により符号化して得られる前記符号化データの第２の冗長データを取得する取得手段と、
前記ブロック毎に、
前記ブロックに含まれる全ての前記取得手段により取得された前記符号化データが揃っている場合、前記符号化データと、復号済みのブロックの、復号途中の中間データを用いて復号し、
前記ブロックに含まれる全ての前記取得手段により取得された前記符号化データが揃っていない場合、前記符号化データと、復号済みのブロックの、復号途中の中間データを用いて復号する復号手段と、
損失した符号化データを回復し、回復した前記符号化データを当該ブロックの復号および復号途中に得られる中間データを後続のブロックの符号化データの復号に使用するために、前記取得手段により取得された前記符号化データおよび前記第１の冗長データを、前記前方誤り訂正方式により復号する第１の前方誤り訂正方式復号手段と、
復号途中に得られる中間データを後続のブロックの符号化データの復号に使用するために、前記取得手段により取得された前記符号化データおよび前記第２の冗長データを、前記前方誤り訂正方式により復号する第２の前方誤り訂正方式復号手段と、
前記第２の前方誤り訂正方式復号手段により回復された前記符号化データを復号し、復号途中に得られる中間データを、復号済みのブロックの復号途中の中間データとして、後続のブロックの復号に使用させるように設定する設定手段と
を備える情報処理装置。
【請求項１８】
前記復号手段に、所定の同期信号に合わせた所定のタイミングで、前記符号化データの復号を行わせる同期手段と、
前記第２の前方誤り訂正方式復号手段による前記符号化データの回復が、前記同期手段により制御される、前記復号手段の前記符号化データのブロックの復号開始タイミングより前か否かを判定する同期判定手段と
をさらに備え、
前記同期判定手段により前記符号化データの回復が前記復号開始タイミングより前であると判定された場合、前記復号手段は、前記第２の前方誤り訂正方式復号手段により回復された前記符号化データと前記ブロックに含まれる前記符号化データと復号済みのブロックの復号途中の中間データを用いて復号し、
前記同期判定手段により前記符号化データの回復が前記復号開始タイミングより前でないと判定された場合、前記設定手段は、前記第２の前方誤り訂正方式復号手段により回復された前記符号化データを復号し、復号途中に得られる中間データを、復号済みのブロックの復号途中の中間データとして、後続のブロックの復号に使用させるように設定する
請求項１７に記載の情報処理装置。
【請求項１９】
前記復号手段は、
前記符号化データをエントロピ復号する第１のエントロピ復号手段と、
前記第１のエントロピ復号手段により前記符号化データが復号されて得られる係数データを逆量子化する第１の逆量子化手段と、
前記第１の逆量子化手段により逆量子化された前記係数データをウェーブレット逆変換するウェーブレット逆変換手段と
を備え、
前記設定手段は、
前記第２の前方誤り訂正方式復号手段により回復された前記符号化データをエントロピ復号する第２のエントロピ復号手段と、
前記第２のエントロピ復号手段により前記符号化データが復号されて得られる係数データを逆量子化する第２の逆量子化手段と、
前記第２の逆量子化手段により逆量子化された前記係数データを用いて、前記ウェーブレット逆変換が保持する、前記ウェーブレット逆変換に使用する前記中間データを更新する更新手段と
を備える請求項１７または請求項１８に記載の情報処理装置。
【請求項２０】
情報処理装置の情報処理方法であって、
前記情報処理装置の取得手段が、所定のデータ単位毎にブロック化された画像データがブロック毎に符号化された符号化データ、前記符号化データを第１のデータ単位毎に前方誤り訂正方式により符号化して得られる前記符号化データの第１の冗長データ、および、前記符号化データを、前記第１のデータ単位よりも大きい第２のデータ単位毎に前方誤り訂正方式により符号化して得られる前記符号化データの第２の冗長データを取得し、
前記情報処理装置の復号手段が、前記ブロック毎に、
前記ブロックに含まれる全ての前記取得手段により取得された前記符号化データが揃っている場合、前記符号化データと、復号済みのブロックの、復号途中の中間データを用いて復号し、
前記ブロックに含まれる全ての前記取得手段により取得された前記符号化データが揃っていない場合、前記符号化データと、復号済みのブロックの、復号途中の中間データを用いて復号し、
前記情報処理装置の第１の前方誤り訂正方式復号手段が、損失した符号化データを回復し、回復した前記符号化データを当該ブロックの復号および復号途中に得られる中間データを後続のブロックの符号化データの復号に使用するために、取得された前記符号化データおよび前記第１の冗長データを、前記前方誤り訂正方式により復号し、
前記情報処理装置の第２の前方誤り訂正方式復号手段が、復号途中に得られる中間データを後続のブロックの符号化データの復号に使用するために、取得された前記符号化データおよび前記第２の冗長データを、前記前方誤り訂正方式により復号し、
前記情報処理装置の設定手段が、回復された前記符号化データを復号し、復号途中に得られる中間データを、復号済みのブロックの復号途中の中間データとして、後続のブロックの復号に使用させるように設定する
情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置および方法に関し、特に、データ伝送において、不要な遅延の増大を抑制しながら、後続データへのエラー伝搬を抑制することができるようにした情報処理装置および方法に関する。
【背景技術】
【０００２】
近年、インターネット若しくはその他の伝送路を経由して、マルチメディアデータを低遅延に伝送するという需要が高まっている。例えば、遠隔地２地点の医療拠点をインターネット等で接続し、一方の遠隔手術室から手術風景を動画像伝送し、他方からその映像を見ながら遠隔手術室の手術器具を操作するといった、所謂遠隔手術用アプリケーションがある。このようなアプリケーションでは、数フレーム間隔以下の遅延での動画像伝送が要求される。
【０００３】
このような要求に対して、動画像の各ピクチャの数ライン毎を１つの圧縮符号化ブロックとしてウェーブレット変換による圧縮符号化を行う方式が提案された（例えば、特許文献１参照）。この方式の場合、符号化装置は、ピクチャ内のデータ全てが入力される前に圧縮符号化を開始することができる。また、圧縮データをネットワーク経由で伝送し、受信側でその圧縮データを復号する場合、復号装置は、ピクチャ内の全てのデータを受信する前に復号処理を開始することができる。したがって、ネットワーク伝搬遅延が十分小さければ、フレーム間隔以下の遅延でのリアルタイム動画像伝送が可能となる。
【０００４】
このようなリアルタイム伝送に適したインターネット技術に，IETF（Internet Engineering Task Force）のRFC（Request for Comments）3550で規定されているRTP（Realtime Transport Protocol）がある。RTPによるデータ転送では、時間情報としてパケットにタイムスタンプを付加しておき、これによって送信側と受信側の時間的関係を把握する。このようにすることにより、パケット転送の遅延ゆらぎ（ジッタ）などの影響を受けずに同期をとった再生が可能になる。
【０００５】
なお、RTPは、実時間のデータ転送を保証しているものではない。パケット配送の優先度や設定、管理などはRTPが提供するトランスポートサービスの範疇ではない。したがって、RTPパケットも、他のプロトコルのパケットと同様に、配送遅延やパケット損失がおきる可能性がある。
【０００６】
ただし、多少のデータ損失があったとしても、品質が低下するだけで、受信側は、期待する時間内に到着したパケットだけを利用してデータを再生することができる。なお、遅延配送されたパケットやエラーの発生したパケットは、受信側でそのまま破棄される。
【０００７】
このように、ネットワーク伝送を行う場合、高品質なデータを配信しても、パケット損失やエラーにより、受信側で十分に再生されない恐れがある。一般的に、エラーの発生確率は、有線区間で１０−５、無線区間で１０−３以上とされる。したがって、RTPをそのまま利用するのでは、配信するメディアの品質を十分に保つことができない。
【０００８】
その他のプロトコルを使用する方法として、例えば、データ転送に信頼性が高いTCP（Transmission Control Protocol）を利用する方法が考えられる。しかしながら、TCPは、エラーには強いが、スループットが低く、遅延が大きいので低遅延のデータ伝送には不向きである。例えば、エラー発生時に受信側がパケットの再送要求を行っても、その再送パケットの到着が再生時間には間に合わない恐れがあった。
【０００９】
そこで、RTPを用いてデータ転送の信頼性を向上させる手法として、データの冗長符号化を行うことで信頼性の向上を図る、前方誤り訂正符号化方式、所謂FEC（Forward Error Correction）方式という手法がある（例えば、非特許文献１参照）。FEC方式では、複数個のパケットを１つのFECブロックとして、リードソロモン（RS（Reed-Solomon））符号等の誤り訂正符号を用いて冗長符号化を行う。例えば（ｎ，ｋ）RS符号を用いる場合、元パケットをｋ個とするとｎ−ｋ個の冗長パケットを生成することができる（ｎ＞ｋ）。この場合、送信装置が合計ｎ個のパケットを送信することにより、受信装置は、ｎ個のパケット中ｋ個のパケットを受信すれば、RS復号処理によりｋ個の元パケットを復元することができる。例えば、非特許文献１には、優先度に応じた冗長符号化方式が記載されている。
【００１０】
FEC方式を用いて冗長符号化した場合、パケット損失に対する回復性能は、FECブロックサイズと冗長パケット数（ｎ−ｋ）に依存する。特に、ネットワークを介したデータ伝送中に起こるデータ系列上連続するパケットの損失、所謂バーストパケット損失に対する回復性能は、FECブロックサイズと関係が深い。一般的に、FECブロックサイズを大きくとればとるほど、バーストパケット損失に対する回復性能は向上する。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特開２００７−３１１９２４号公報
【非特許文献】
【００１２】
【非特許文献１】Alexander E. Mohr, Student Member, IEEE, Eve A. Riskin, Senior Member, IEEE, and Richard E. Ladner, Member, IEEE, "Unequal Loss Protection: Graceful Degradation of Image Quality over Packet Erasure Channels Through Forward Error Correction" IEEE JOUNAL ON SELECTED AREAS IN COMMUNICATIONS, VOL.18, NO.6, pp819-828, JUNE2000.
【発明の概要】
【発明が解決しようとする課題】
【００１３】
しかしながら、FEC方式の場合、FEC符号化処理や復号処理を行うためにブロックサイズ分のデータを蓄積する時間が必要になる。したがって、FECブロックサイズを大きく取ると、遅延時間が大幅に増大してしまう恐れがあった。換言すれば、低遅延が要求されるデータ伝送においては、FEC方式ではバーストパケット損失に対する回復性能を十分に向上させることができない恐れがあった。
【００１４】
ただし、上述したように、多少のデータ損失があったとしても、その部分の品質が低下するだけで、受信側は、期待する時間内に到着したパケットだけを利用してデータを再生することができる。特に、低遅延が要求されるデータ伝送に採用される符号化方式の場合、一般的に符号化処理単位が小さくなるので、このようなデータ損失により直接的に影響を受ける（画質が低下する）範囲は小さい。
【００１５】
ところが、低遅延が要求されるデータ伝送に採用される符号化方式の場合、符号化処理や復号処理において、符号化処理単位を超えて他のデータへの依存性が高くなることがある。例えば、過去に符号化された符号化データや中間データ等を用いて符号化処理が行われたり、過去に復号された画像データや中間データ等を用いて復号処理が行われたりすることがある。
【００１６】
このような符号化方式の場合、回復できない程のデータ損失が発生すると、そのエラーが後続のデータに伝搬してしまい、その損失が影響を与える範囲が拡大してしまう恐れがあった。
【００１７】
本発明はこのような問題を解決するためのものであり、データ伝送において、不要な遅延の増大を抑制しながら、後続データへのエラー伝搬を抑制することを目的とするものである。
【課題を解決するための手段】
【００１８】
本発明の一側面は、所定のデータ単位毎にブロック化された画像データが、ブロック毎に符号化された符号化データ、および、前記符号化データを前方誤り訂正方式により符号化して得られる前記符号化データの冗長データを取得する取得手段と、前記ブロック毎に、前記ブロックに含まれる全ての前記取得手段により取得された前記符号化データが揃っている場合には、前記符号化データと、復号済みのブロックの、復号途中の中間データを用いて復号し、前記ブロックに含まれる全ての前記取得手段により取得された前記符号化データが揃っていない場合には、損失した前記符号化データの代わりに用いるダミーデータと、前記符号化データと、復号済みのブロックの、復号途中の中間データを用いて復号する復号手段と、前記取得手段により取得された前記符号化データおよび前記冗長データを、前記前方誤り訂正方式により復号し、損失した前記符号化データを回復する前方誤り訂正方式復号手段と、前記前方誤り訂正方式復号手段により回復された前記符号化データを復号し、復号途中に得られる中間データを、復号済みのブロックの復号途中の中間データとして、後続のブロックの復号に使用させるように設定する設定手段とを備える情報処理装置である。
【００１９】
前記復号手段に、所定の同期信号に合わせた所定のタイミングで、前記符号化データの復号を行わせる同期手段と、前記前方誤り訂正方式復号手段による前記符号化データの回復が、前記同期手段により制御される、前記復号手段の前記符号化データのブロックの復号開始タイミングより前か否かを判定する同期判定手段とをさらに備え、前記同期判定手段により前記符号化データの回復が前記復号開始タイミングより前であると判定された場合、前記復号手段は、前記前方誤り訂正方式復号手段により回復された前記符号化データと前記ブロックに含まれる前記符号化データと復号済みのブロックの復号途中の中間データを用いて復号し、前記同期判定手段により前記符号化データの回復が前記復号開始タイミングより前でないと判定された場合、前記前方誤り訂正方式復号手段により回復された前記符号化データを復号し、復号途中に得られる中間データを、復号済みのブロックの復号途中の中間データとして、後続のブロックの復号に使用させるように設定することができる。
【００２０】
前記復号手段は、前記符号化データをエントロピ復号する第１のエントロピ復号手段と、前記第１のエントロピ復号手段により前記符号化データが復号されて得られる係数データを逆量子化する第１の逆量子化手段と、前記第１の逆量子化手段により逆量子化された前記係数データをウェーブレット逆変換するウェーブレット逆変換手段とを備え、前記設定手段は、前記前方誤り訂正方式復号手段により回復された前記符号化データをエントロピ復号する第２のエントロピ復号手段と、前記第２のエントロピ復号手段により前記符号化データが復号されて得られる係数データを逆量子化する第２の逆量子化手段と、前記第２の逆量子化手段により逆量子化された前記係数データを用いて、前記ウェーブレット逆変換が保持する、前記ウェーブレット逆変換に使用する前記中間データを更新する更新手段とを備えることができる。
【００２１】
本発明の一側面は、また、情報処理装置の情報処理方法であって、前記情報処理装置の取得手段が、所定のデータ単位毎にブロック化された画像データが、ブロック毎に符号化された符号化データ、および、前記符号化データを前方誤り訂正方式により符号化して得られる前記符号化データの冗長データを取得し、前記情報処理装置の復号手段が、前記ブロック毎に、前記ブロックに含まれる全ての前記取得手段により取得された前記符号化データが揃っている場合には、前記符号化データと、復号済みのブロックの、復号途中の中間データを用いて復号し、前記ブロックに含まれる全ての前記取得手段により取得された前記符号化データが揃っていない場合には、喪失した前記符号化データの代わりに用いるダミーデータと、前記符号化データと、復号済みのブロックの、復号途中の中間データを用いて復号し、前記情報処理装置の前方誤り訂正方式復号手段が、取得された前記符号化データおよび前記冗長データを、前記前方誤り訂正方式により復号し、損失した前記符号化データを回復し、前記情報処理装置の設定手段が、回復された前記符号化データを復号し、復号途中に得られる中間データを、復号済みのブロックの復号途中の中間データとして、後続のブロックの復号に使用させるように設定する情報処理方法である。
【００２３】
本発明の他の側面は、所定のデータ単位毎にブロック化された画像データを、ブロック毎に符号化する符号化手段と、損失した符号化データを回復し、回復した前記符号化データを当該ブロックの復号および復号途中に得られる中間データを後続のブロックの符号化データの復号に使用するために、前記符号化手段により前記画像データが符号化されて得られる符号化データを、第１のデータ単位毎に、前方誤り訂正方式により符号化する第１の前方誤り訂正方式符号化手段と、復号途中に得られる中間データを後続のブロックの符号化データの復号に使用するために、前記符号化手段により前記画像データが符号化されて得られる符号化データを、前記第１のデータ単位よりも大きな第２のデータ単位毎に前方誤り訂正方式により符号化する第２の前方誤り訂正方式符号化手段と、前記符号化手段により前記画像データが符号化されて得られる符号化データ、前記第１の前方誤り訂正方式符号化手段により前記符号化データが符号化されて得られる第１の冗長データ、および、前記第２の前方誤り訂正方式符号化手段により前記符号化データが符号化されて得られる第２の冗長データを送信する送信手段とを備える情報処理装置である。
【００２４】
前記第１のデータ単位の大きさを決定する第１のデータ単位決定手段と、前記第２のデータ単位の大きさを決定する第２のデータ単位決定手段とをさらに備え、前記第１の前方誤り訂正方式符号化手段は、前記第１のデータ単位決定手段により決定された前記第１のデータ単位毎に、前記符号化データを前方誤り訂正方式により符号化し、前記第２の前方誤り訂正方式符号化手段は、前記第２のデータ単位決定手段により決定された前記第２のデータ単位毎に、前記符号化データを前方誤り訂正方式により符号化することができる。
【００２５】
前記第２のデータ単位決定手段は、前記ブロックと当該ブロックの復号途中に生成される中間データと、復号に使用する０個以上の後続のブロックとを合わせたブロック以下となるように前記第２のデータ単位を決定することができる。
【００２６】
前記符号化データの復号処理において、所定のサイズもしくは所定の再生時間に相当するサイズの前記符号化データがバッファに格納されてから復号される場合、前記第１のデータ単位決定手段は、前記第１のデータ単位の大きさを前記バッファサイズ以下とし、前記第２のデータ単位決定手段は、前記第２のデータ単位の大きさを前記バッファサイズ以上とすることができる。
【００２７】
前記符号化データが伝送されるネットワークの状況を示すネットワーク状況情報を取得するネットワーク状況情報取得手段をさらに備え、前記第１のデータ単位決定手段は、前記ネットワーク状況情報取得手段により取得された前記ネットワーク状況情報を用いて前記第１のデータ単位の大きさを決定し、前記第２のデータ単位決定手段は、前記ネットワーク状況情報取得手段により取得された前記ネットワーク状況情報を用いて前記第２のデータ単位の大きさを決定することができる。
【００２８】
前記第１の前方誤り訂正方式符号化手段による前方誤り訂正方式の符号化の冗長度である第１の冗長度を決定する第１の冗長度決定手段と、前記第２の前方誤り訂正方式符号化手段による前方誤り訂正方式の符号化の冗長度である第２の冗長度を決定する第２の冗長度決定手段とをさらに備え、前記第１の前方誤り訂正方式符号化手段は、前記第１の冗長度決定手段により決定された前記第１の冗長度で、前記符号化データを前方誤り訂正方式により符号化し、前記第２の前方誤り訂正方式符号化手段は、前記第２の冗長度決定手段により決定された前記第２の冗長度で、前記符号化データを前方誤り訂正方式により符号化することができる。
【００２９】
前記符号化データが伝送されるネットワークの状況を示すネットワーク状況情報を取得するネットワーク状況情報取得手段をさらに備え、前記第１の冗長度決定手段は、前記ネットワーク状況情報取得手段により取得された前記ネットワーク状況情報を用いて前記第１の冗長度を決定し、前記第２の冗長度決定手段は、前記ネットワーク状況情報取得手段により取得された前記ネットワーク状況情報を用いて前記第２の冗長度を決定することができる。
【００３０】
前記第１の冗長度決定手段は、前記第２のデータ単位内において、時間的に後のブロックの冗長度を下げることができる。
【００３１】
前記ネットワーク状況情報は、パケット損失率、伝送遅延、送受信データレート、伝送ジッタのうち少なくともいずれか１つを含むことができる。
【００３２】
前記ネットワーク状況情報は、さらに、所定数以上の連続パケットの損失の発生率、若しくは、所定区間中のパケット損失数が所定数以上である頻度を示すバーストパケット損失率の想定値を含むことができる。
【００３３】
前記符号化データが伝送されるネットワークの状況を示すネットワーク状況情報として、前記ネットワーク状況情報は、所定数以上の連続パケットの損失の発生率、若しくは、所定区間中のパケット損失数が所定数以上である頻度を示すバーストパケット損失率を取得するネットワーク状況情報取得手段と、前記第１のデータ単位の大きさを決定する第１のデータ単位決定手段と、前記第２のデータ単位の大きさを決定する第２のデータ単位決定手段と、前記第１の前方誤り訂正方式符号化手段による前方誤り訂正方式の符号化の冗長度である第１の冗長度を決定する第１の冗長度決定手段と、前記第２の前方誤り訂正方式符号化手段による前方誤り訂正方式の符号化の冗長度である第２の冗長度を決定する第２の冗長度決定手段とをさらに備え、前記第１の前方誤り訂正方式符号化手段は、前記第１のデータ単位決定手段により決定された前記第１のデータ単位毎に、前記第１の冗長度決定手段により決定された前記第１の冗長度で、前記符号化データを前方誤り訂正方式により符号化し、前記第２の前方誤り訂正方式符号化手段は、前記第２のデータ単位決定手段により決定された前記第２のデータ単位毎に、前記第２の冗長度決定手段により決定された前記第２の冗長度で、前記符号化データを前方誤り訂正方式により符号化し、前記ネットワーク状況情報取得手段により取得された前記バーストパケット損失率が所定の値以上である場合、前記第１のデータ単位決定手段が、前記第１のデータ単位を大きくし、前記第２のデータ単位決定手段が、前記第２のデータ単位を大きくするか、若しくは、前記第１の冗長度決定手段が、前記第１の冗長度を大きくし、前記第２の冗長度決定手段が、前記第２の冗長度を大きくするか、若しくは、前記第１のデータ単位決定手段が、前記第１のデータ単位を大きくし、前記第２のデータ単位決定手段が、前記第２のデータ単位を大きくし、前記第１の冗長度決定手段が、前記第１の冗長度を大きくし、前記第２の冗長度決定手段が、前記第２の冗長度を大きくすることができる。
【００３４】
本発明の他の側面は、また、情報処理装置の情報処理方法であって、前記情報処理装置の符号化手段が、所定のデータ単位毎にブロック化された画像データを、ブロック毎に符号化し、前記情報処理装置の第１の前方誤り訂正方式符号化手段が、損失した符号化データを回復し、回復した前記符号化データを当該ブロックの復号および復号途中に得られる中間データを後続のブロックの符号化データの復号に使用するために、前記画像データが符号化されて得られる符号化データを、第１のデータ単位毎に、前方誤り訂正方式により符号化し、前記情報処理装置の第２の前方誤り訂正方式符号化手段が、復号途中に得られる中間データを後続のブロックの符号化データの復号に使用するために、前記画像データが符号化されて得られる符号化データを、前記第１のデータ単位よりも大きな第２のデータ単位毎に前方誤り訂正方式により符号化し、前記情報処理装置の送信手段が、前記画像データが符号化されて得られる符号化データ、前記第１の前方誤り訂正方式により前記符号化データが符号化されて得られる第１の冗長データ、および、前記第２の前方誤り訂正方式により前記符号化データが符号化されて得られる第２の冗長データを送信する情報処理方法である。
【００３６】
本発明のさらに他の側面は、所定のデータ単位毎にブロック化された画像データがブロック毎に符号化された符号化データ、前記符号化データを第１のデータ単位毎に前方誤り訂正方式により符号化して得られる前記符号化データの第１の冗長データ、および、前記符号化データを、前記第１のデータ単位よりも大きい第２のデータ単位毎に前方誤り訂正方式により符号化して得られる前記符号化データの第２の冗長データを取得する取得手段と、前記ブロック毎に、前記ブロックに含まれる全ての前記取得手段により取得された前記符号化データが揃っている場合、前記符号化データと、復号済みのブロックの、復号途中の中間データを用いて復号し、前記ブロックに含まれる全ての前記取得手段により取得された前記符号化データが揃っていない場合、前記符号化データと、復号済みのブロックの、復号途中の中間データを用いて復号する復号手段と、損失した符号化データを回復し、回復した前記符号化データを当該ブロックの復号および復号途中に得られる中間データを後続のブロックの符号化データの復号に使用するために、前記取得手段により取得された前記符号化データおよび前記第１の冗長データを、前記前方誤り訂正方式により復号する第１の前方誤り訂正方式復号手段と、復号途中に得られる中間データを後続のブロックの符号化データの復号に使用するために、前記取得手段により取得された前記符号化データおよび前記第２の冗長データを、前記前方誤り訂正方式により復号する第２の前方誤り訂正方式復号手段と、前記第２の前方誤り訂正方式復号手段により回復された前記符号化データを復号し、復号途中に得られる中間データを、復号済みのブロックの復号途中の中間データとして、後続のブロックの復号に使用させるように設定する設定手段とを備える情報処理装置である。
【００３７】
前記復号手段に、所定の同期信号に合わせた所定のタイミングで、前記符号化データの復号を行わせる同期手段と、前記第２の前方誤り訂正方式復号手段による前記符号化データの回復が、前記同期手段により制御される、前記復号手段の前記符号化データのブロックの復号開始タイミングより前か否かを判定する同期判定手段とをさらに備え、前記同期判定手段により前記符号化データの回復が前記復号開始タイミングより前であると判定された場合、前記復号手段は、前記第２の前方誤り訂正方式復号手段により回復された前記符号化データと前記ブロックに含まれる前記符号化データと復号済みのブロックの復号途中の中間データを用いて復号し、前記同期判定手段により前記符号化データの回復が前記復号開始タイミングより前でないと判定された場合、前記設定手段は、前記第２の前方誤り訂正方式復号手段により回復された前記符号化データを復号し、復号途中に得られる中間データを、復号済みのブロックの復号途中の中間データとして、後続のブロックの復号に使用させるように設定することができる。
【００３８】
前記復号手段は、前記符号化データをエントロピ復号する第１のエントロピ復号手段と、前記第１のエントロピ復号手段により前記符号化データが復号されて得られる係数データを逆量子化する第１の逆量子化手段と、前記第１の逆量子化手段により逆量子化された前記係数データをウェーブレット逆変換するウェーブレット逆変換手段とを備え、前記設定手段は、前記第２の前方誤り訂正方式復号手段により回復された前記符号化データをエントロピ復号する第２のエントロピ復号手段と、前記第２のエントロピ復号手段により前記符号化データが復号されて得られる係数データを逆量子化する第２の逆量子化手段と、前記第２の逆量子化手段により逆量子化された前記係数データを用いて、前記ウェーブレット逆変換が保持する、前記ウェーブレット逆変換に使用する前記中間データを更新する更新手段とを備えることができる。
【００３９】
本発明のさらに他の側面は、また、情報処理装置の情報処理方法であって、前記情報処理装置の取得手段が、所定のデータ単位毎にブロック化された画像データがブロック毎に符号化された符号化データ、前記符号化データを第１のデータ単位毎に前方誤り訂正方式により符号化して得られる前記符号化データの第１の冗長データ、および、前記符号化データを、前記第１のデータ単位よりも大きい第２のデータ単位毎に前方誤り訂正方式により符号化して得られる前記符号化データの第２の冗長データを取得し、前記情報処理装置の復号手段が、前記ブロック毎に、前記ブロックに含まれる全ての前記取得手段により取得された前記符号化データが揃っている場合、前記符号化データと、復号済みのブロックの、復号途中の中間データを用いて復号し、前記ブロックに含まれる全ての前記取得手段により取得された前記符号化データが揃っていない場合、前記符号化データと、復号済みのブロックの、復号途中の中間データを用いて復号し、前記情報処理装置の第１の前方誤り訂正方式復号手段が、損失した符号化データを回復し、回復した前記符号化データを当該ブロックの復号および復号途中に得られる中間データを後続のブロックの符号化データの復号に使用するために、取得された前記符号化データおよび前記第１の冗長データを、前記前方誤り訂正方式により復号し、前記情報処理装置の第２の前方誤り訂正方式復号手段が、復号途中に得られる中間データを後続のブロックの符号化データの復号に使用するために、取得された前記符号化データおよび前記第２の冗長データを、前記前方誤り訂正方式により復号し、前記情報処理装置の設定手段が、回復された前記符号化データを復号し、復号途中に得られる中間データを、復号済みのブロックの復号途中の中間データとして、後続のブロックの復号に使用させるように設定する情報処理方法である。
【００４１】
本発明の一側面においては、所定のデータ単位毎にブロック化された画像データが、ブロック毎に符号化された符号化データ、および、符号化データを前方誤り訂正方式により符号化して得られる符号化データの冗長データが取得され、ブロック毎に、ブロックに含まれる全ての符号化データが揃っている場合には、符号化データと、復号済みのブロックの、復号途中の中間データを用いて復号され、ブロックに含まれる全ての符号化データが揃っていない場合には、喪失した符号化データの代わりに用いるダミーデータと、符号化データと、復号済みのブロックの、復号途中の中間データを用いて復号され、取得された符号化データおよび冗長データが、前方誤り訂正方式により復号され、損失した符号化データが回復され、回復された符号化データが復号され、復号途中に得られる中間データを、復号済みのブロックの復号途中の中間データとして、後続のブロックの復号に使用させるように設定される。
【００４２】
本発明の他の側面においては、所定のデータ単位毎にブロック化された画像データが、ブロック毎に符号化され、損失した符号化データを回復し、回復した符号化データを当該ブロックの復号および復号途中に得られる中間データを後続のブロックの符号化データの復号に使用するために、画像データが符号化されて得られる符号化データが、第１のデータ単位毎に、前方誤り訂正方式により符号化され、復号途中に得られる中間データを後続のブロックの符号化データの復号に使用するために、画像データが符号化されて得られる符号化データが、第１のデータ単位よりも大きな第２のデータ単位毎に前方誤り訂正方式により符号化され、画像データが符号化されて得られる符号化データ、第１の前方誤り訂正方式により符号化データが符号化されて得られる第１の冗長データ、および、第２の前方誤り訂正方式により符号化データが符号化されて得られる第２の冗長データが送信される。
【００４３】
本発明のさらに他の側面においては、所定のデータ単位毎にブロック化された画像データがブロック毎に符号化された符号化データ、符号化データを第１のデータ単位毎に前方誤り訂正方式により符号化して得られる符号化データの第１の冗長データ、および、符号化データを、第１のデータ単位よりも大きい第２のデータ単位毎に前方誤り訂正方式により符号化して得られる符号化データの第２の冗長データが取得され、ブロック毎に、ブロックに含まれる全ての符号化データが揃っている場合、符号化データと、復号済みのブロックの、復号途中の中間データを用いて復号され、ブロックに含まれる全ての符号化データが揃っていない場合、符号化データと、復号済みのブロックの、復号途中の中間データを用いて復号され、損失した符号化データを回復し、回復した符号化データを当該ブロックの復号および復号途中に得られる中間データを後続のブロックの符号化データの復号に使用するために、取得された符号化データおよび第１の冗長データが、前方誤り訂正方式により復号され、復号途中に得られる中間データを後続のブロックの符号化データの復号に使用するために、取得された符号化データおよび第２の冗長データが、前方誤り訂正方式により復号され、回復された符号化データが復号され、復号途中に得られる中間データを、復号済みのブロックの復号途中の中間データとして、後続のブロックの復号に使用させるように設定される。
【発明の効果】
【００４４】
本発明によれば、データ伝送を行うことができる。特に、不要な遅延の増大を抑制しながら、後続データへのエラー伝搬を抑制するように、データを伝送させることができる。
【図面の簡単な説明】
【００４５】
【図１】本発明を適用したネットワークシステムの主な構成例を示すブロック図である。
【図２】動画像圧縮符号化部の構成例を示すブロック図である。
【図３】分析フィルタリングの概要を説明する図である。
【図４】分析フィルタリングの概要を説明する図３に続く図である。
【図５】ラインブロックを説明する図である。
【図６】９×７フィルタの例を示す図である。
【図７】リフティング演算例を説明する図である。
【図８】リフティング演算例を説明する図である。
【図９】リフティング演算例を説明する図である。
【図１０】動画像伸長復号部の構成例を示すブロック図である。
【図１１】９×７フィルタの例を示す図である。
【図１２】リフティング演算例を説明する図である。
【図１３】リフティング演算例を説明する図である。
【図１４】圧縮符号化処理・伸長復号処理の様子を説明する図である。
【図１５】ネットワークシステムの各部において実行される処理の概要を説明する図である。
【図１６】冗長符号化部の主な構成例を示すブロック図である。
【図１７】冗長復号部の主な構成例を示すブロック図である。
【図１８】伝搬対策部の主な構成例を示すブロック図である。
【図１９】冗長符号化処理の流れの例を説明するフローチャートである。
【図２０】冗長復号処理の流れの例を説明するフローチャートである。
【図２１】エラー伝搬対策処理の流れの例を説明するフローチャートである。
【図２２】冗長復号部の他の構成例を示すブロック図である。
【図２３】冗長復号処理の流れの、他の例を説明するフローチャートである。
【図２４】同期再生処理の流れの例を説明するフローチャートである。
【図２５】ネットワークシステムの各部において実行される処理の概要を説明する図である。
【図２６】冗長符号化部の他の構成例を示すブロック図である。
【図２７】冗長復号部の、さらに他の構成例を示すブロック図である。
【図２８】冗長符号化処理の流れの、他の例を説明するフローチャートである。
【図２９】冗長復号処理の流れの、さらに他の例を説明するフローチャートである。
【図３０】ネットワークシステム全体の処理のタイミングの関係を示す図である。
【図３１】冗長データの他の構成例を示す図である。
【図３２】本発明を適用したネットワークシステムの他の構成例を示すブロック図である。
【図３３】冗長符号化部の、さらに他の構成例を示すブロック図である。
【図３４】FECブロック元データ単位決定処理の流れの例を説明するフローチャートである。
【図３５】FECブロック冗長度決定処理の流れの例を説明するフローチャートである。
【図３６】本発明を適用したパーソナルコンピュータの主な構成例を示すブロック図である。
【発明を実施するための形態】
【００４６】
以下、発明を実施するための形態（以下実施の形態とする）について説明する。なお、説明は以下の順序で行う。
１．第１の実施の形態（ネットワークシステム：エラー伝搬対策用としてのFEC利用）
２．第２の実施の形態（ネットワークシステム：FEC利用用途の切り替え。エラー伝搬対策用若しくは回復用）
３．第３の実施の形態（ネットワークシステム：回復用FECとエラー伝搬対策用FECの併用）
４．第４の実施の形態（ネットワークシステム：RTCP利用）
５．第５の実施の形態（パーソナルコンピュータ）
【００４７】
＜１．第１の実施の形態＞
［ネットワークシステムの構成］
図１は、本発明を適用したネットワークシステムの構成例を示すブロック図である。
【００４８】
図１において、ネットワークシステム１００は、画像データ（動画像または静止画像のデータ）を、ネットワーク１１０を介して、送信装置１０１から受信装置１０２に伝送するシステムである。以下においては説明の便宜上動画像データを伝送する場合について説明するが、以下の説明は静止画像データの伝送にも適用することができる。動画像はフレーム画像またはフィールド画像の集合、すなわち、静止画像の集合と考えることができる。したがって、ネットワークシステム１００は、以下に説明する動画像データ伝送の場合と基本的に同様に処理を行うことにより、静止画像データの伝送を行うことができる。
【００４９】
送信装置１０１は、入力された動画像データ（ビデオIN）を符号化してパケット化し、そのパケットを、ネットワーク１１０を介して受信装置１０２に送信する。図１に示されるように、送信装置１０１は、動画像圧縮符号化部１２１、冗長符号化部１２２、およびRTP（Realtime Transport Protocol）送信部１２３を有する。
【００５０】
動画像圧縮符号化部１２１は、送信装置１０１に入力される動画像データ（ビデオIN）を圧縮符号化し、生成した符号化データを冗長符号化部１２２に供給する。
【００５１】
冗長符号化部１２２は、動画像圧縮符号化部１２１より供給された符号化データに対して冗長符号化を行い、冗長データを生成する。冗長符号化部１２２は、その生成された冗長データを符号化データとともに、（FEC（Forward Error Correction）符号化データとして、）RTP送信部１２３に供給する。
【００５２】
RTP送信部１２３は、供給されたFEC符号化データを、RTPパケットとして、ネットワーク１１０を介して受信装置１０２に送信する。
【００５３】
受信装置１０２は、ネットワーク１１０を介して送信装置１０１より送信されたRTPパケットを受信し、デパケタイズして冗長復号や伸長復号を行うことにより動画像データを生成して出力する。図１に示されるように、受信装置１０２は、RTP受信部１３１、冗長復号部１３２、および動画像伸長復号部１３３を有する。
【００５４】
RTP受信部１３１は、RTP送信部１２３から送信されるRTPパケットを受信し、FEC符号化データを冗長復号部１３２に供給する。冗長復号部１３２は、供給されたFEC符号化データを、冗長符号化部１２２の冗長符号化方法に対応する復号方法で冗長復号し、損失（ロス）したデータを、冗長データを使って復元する。冗長復号部１３２は、得られた符号化データを動画像伸長復号部１３３に供給する。動画像伸長復号部１３３は、符号化データを、動画像圧縮符号化部１２１の圧縮符号化方法に対応する方法で伸長復号し、ベースバンドの動画像データを生成する。動画像伸長復号部１３３は、生成した動画像データを受信装置１０２より出力する（ビデオOUT）。
【００５５】
［動画像圧縮符号化・伸長復号の説明］
次に、動画像圧縮符号化部１２１と動画像伸長復号部１３３による動画像圧縮符号化・伸長復号の例について説明する。
【００５６】
図２は、動画像圧縮符号化部１２１の詳細な構成例を示すブロック図である。動画像圧縮符号化部１２１は、画像データを解像度に関して重要度の高いデータから順に階層化し、その階層毎に符号化する階層符号化を行う。例えば、動画像圧縮符号化部１２１は、空間解像度に関して重要度の高いデータから順に階層化された階層化データを生成する。また、例えば、動画像圧縮符号化部１２１は、時間方向の解像度に関して重要度の高いデータから順に階層化された階層化データを生成する。さらに、例えば、動画像圧縮符号化部１２１は、SNR（Signal to Noise Ratio）に関して重要度の高いデータから順に階層化された階層化データを生成する。動画像圧縮符号化部１２１は、このように生成した階層化データを、その階層毎に符号化する。
【００５７】
このような階層符号化として、例えば、動画像データの各ピクチャをウェーブレット変換し、エントロピ符号化するJPEG(Joint Photographic Experts Group)2000方式がある。階層符号化方法は任意であるが、以下においては、動画像圧縮符号化部１２１が、動画像データを複数ライン毎にウェーブレット変換し、エントロピ符号化する場合について説明する。
【００５８】
図２に示されるように、動画像圧縮符号化部１２１は、ウェーブレット変換部１５１、量子化部１５２、エントロピ符号化部１５３、およびレート制御部１５４を有する。ウェーブレット変換部１５１は、動画像の各ピクチャを、複数ライン毎にウェーブレット変換する。
【００５９】
ウェーブレット変換は、入力データを低域成分と高域成分に分割する分析フィルタ処理を画面水平方向および画面垂直方向の両方に対して行う処理である。つまり、ウェーブレット変換処理により入力データは、水平方向および垂直方向に低域な成分（ＬＬ成分）、水平方向に高域で垂直方向に低域な成分（ＨＬ成分）、水平方向に低域で垂直方向に高域な成分（ＬＨ成分）、および、水平方向および垂直方向に高域な成分（ＨＨ成分）の４つの成分（サブバンド）に分割される。
【００６０】
ウェーブレット変換部１５１は、このようなウェーブレット変換処理を、所定回数、分析フィルタ処理により得られる水平方向および垂直方向に低域な成分（ＬＬ成分）に対して再帰的に繰り返す。つまり、ウェーブレット変換処理により、動画像データの各ピクチャは、階層化された複数のサブバンド（周波数成分）に分割される（階層化データが生成される）。エントロピ符号化部１５３は、このサブバンド毎に符号化を行う。
【００６１】
動画像の各ピクチャの画像データは、画像の上から下に向かう順に１ラインずつウェーブレット変換部１５１に入力される。また各ラインの画像データは、画像左から右に向かう順に１サンプル（１コラム）ずつ入力される。
【００６２】
ウェーブレット変換部１５１は、そのように入力される画像データに対して、分析フィルタリングを実行可能なサンプル数のデータを入手する毎に（入手次第）、画像水平方向の分析フィルタリング（水平分析フィルタリング）を実行する。例えば、ウェーブレット変換部１５１は、図３の左に示されるベースバンドの画像データ１６１に対して、Ｍコラム入力される毎に水平分析フィルタリングを行い、１ラインずつ水平方向に低域な成分（Ｌ）と高域な成分（Ｈ）に分割する。図３の右に示される水平分析フィルタ処理結果１６２は、ウェーブレット変換部１５１により分割されたＮライン分の水平方向に低域な成分（Ｌ）と高域な成分（Ｈ）を示す。
【００６３】
次に、ウェーブレット変換部１５１は、その水平分析フィルタ処理結果１６２の各成分に対して、垂直方向に分析フィルタリング（垂直分析フィルタリング）を行う。ウェーブレット変換部１５１は、水平分析フィルタリングにより、垂直分析フィルタリングに必要な垂直ライン分の係数が生成されると、その垂直分析フィルタリングに必要な垂直ライン分の係数に対して、コラム毎に垂直分析フィルタリングを行う。
【００６４】
その結果、水平分析フィルタ処理結果１６２は、図４の左に示されるように、水平方向および垂直方向の両方に低域な成分（ＬＬ成分）、水平方向に高域で垂直方向に低域な成分（ＨＬ成分）、水平方向に低域で垂直方向に高域な成分（ＬＨ成分）、および、水平方向および垂直方向の両方に高域な成分（ＨＨ成分）の４つの成分のウェーブレット変換係数（以下、係数と称する）に分割される（階層化データ１６３）。
【００６５】
所定の階層（分割レベル）の係数が得られるまで、得られた分析フィルタリングの結果のうち、ＨＬ成分、ＬＨ成分、ＨＨ成分は外部に出力される。残りのＬＬ成分は、ウェーブレット変換部１５１により、再度分析フィルタリングが行われる。つまり、例えば、図４の左に示される階層化データ１６３は、図４の右に示される階層化データ１６４に変換される。階層化データ１６４では、ＬＬ成分から、ＬＬＬＬ成分、ＬＬＨＬ成分、ＬＬＬＨ成分、およびＬＬＨＨ成分の４つの成分が生成されている。
【００６６】
ウェーブレット変換部１５１は、このような分析フィルタリングを所定回数再帰的に行い、動画像データを所望の分割レベルまで階層化された階層化データを生成する。図５は、分割レベル３（３階層）まで階層化された階層化データの例を示す図である。図５において、分割レベル３まで分割された階層化データ１６５は、分割レベル１（階層番号３）の３ＨＬ成分、３ＬＨ成分、および３ＨＨ成分、分割レベル２（階層番号２）の２ＨＬ成分、２ＬＨ成分、および２ＨＨ成分、並びに、分割レベル３（階層番号１）の１ＬＬ成分、１ＨＬ成分、１ＬＨ成分、および１ＨＨ成分の各サブバンドにより構成される。
【００６７】
ウェーブレット変換処理では、フィルタリング処理を繰り返す毎に（階層が１つ下位になる毎に）、生成されるライン数は２のべき乗分の１の大きさで小さくなっていく。最終分割レベル（階層番号１）の係数を１ライン生成するために必要なベースバンドのライン数は、そのフィルタリング処理を何回繰り返すか（最終分割レベルの階層数）によって決められる。通常、この階層数は予め定められる。
【００６８】
この、最終分割レベルの係数を１ライン生成するために必要なベースバンドの画像データ（複数ライン分の画像データ）、または、各階層の係数をまとめてラインブロック（またはプレシンクト）と称する。
【００６９】
図５において斜線で示される部分が１ラインブロックを構成する係数である。図５に示されるように、ラインブロックは、階層番号１の各成分の１ライン分の係数、階層番号２の各成分の２ライン分の係数、並びに、階層番号３の各成分の４ライン分の係数により構成される。なお、これらに相当する分析フィルタリング前の画像データ、すなわち、この例では８ライン分の画像データのこともラインブロック（またはプレシンクト）と称する。
【００７０】
次に、上述した分析フィルタリングにおける演算方法について具体的に説明する。分析フィルタリングにおける演算方法で最も一般的な演算方法は、畳み込み演算と呼ばれる方法である。この畳み込み演算は、デジタルフィルタの最も基本的な実現手段であり、フィルタのタップ係数に、実際の入力データを畳み込み乗算するものである。しかしながら、この畳み込み演算では、タップ長が長いとその分、計算負荷が増えてしまう場合もある。
【００７１】
これに対応する方法として、論文「W.Swelden,“The lifting scheme :A custom-design construction of Biorthogonal wavelets”, Applied and Computational Harmonic Analysis, vol3, no.2, pp.186-200, 1996」で紹介されたウェーブレット変換のリフティング技術が知られている。
【００７２】
図６は、JPEG2000規格でも採用されている９×７分析フィルタのリフティング構成を示している。この９×７分析フィルタに対してリフティング技術を適用したときの分析フィルタリングについて説明する。
【００７３】
図６の例において、１段目（最上段）は、入力画像のサンプル群（画素列）を示し、２，３段目は、それぞれステップＡ１およびステップＡ２の処理で生成される成分（係数）を示す。また、４段目は、ステップＡ３の処理で生成される高域成分出力を示し、５段目は、ステップＡ４の処理で生成される低域成分出力を示している。最上段部は、入力画像のサンプル群に限らず、前の分析フィルタリングで得られた係数であってもよい。ここでは、最上段部が入力画像のサンプル群であるものとし、四角印（■）が偶数番目のサンプルまたはライン、丸印（●）が奇数番目のサンプルまたはラインとする。
【００７４】
９×７分析フィルタに対してリフティング技術を適用した分析フィルタリングにおいては、ステップＡ３の処理で高域成分が得られ、ステップＡ４の処理で低域成分が得られる。なお、ステップＡ１乃至ステップＡ４の処理は、次の式（１）乃至式（４）で表される。
【００７５】
stepＡ１：ｄｉ１＝ｄｉ０＋α（ｓｉ０＋ｓｉ＋１０）  ・・・（１）
stepＡ２：ｓｉ１＝ｓｉ０＋β（ｄｉ−１１＋ｄｉ１）  ・・・（２）
stepＡ３：ｄｉ２＝ｄｉ１＋γ（ｓｉ１＋ｓｉ＋１１）  ・・・（３）
stepＡ４：ｓｉ２＝ｓｉ１＋δ（ｄｉ−１２＋ｄｉ２）  ・・・（４）
（α＝-1.586134342，β＝-0.05298011857，γ＝0.8829110755，δ＝0.4435068520）
【００７６】
このように、リフティング技術を適用した分析フィルタリングにおいては、ステップＡ１およびＡ２の処理が行われ、ステップＡ３で、高域成分の係数が生成された後に、ステップＡ４で、低域成分の係数が生成される。この際に用いられるフィルタバンクは、式（１）乃至式（４）に示されるように、加算とシフト演算のみで実現できる。したがって、計算量を大幅に低減することができる。そこで、次に説明するように、水平分析フィルタリングおよび垂直分析フィルタリングに、このリフティング技術を適用する。
【００７７】
まず、水平分析フィルタリングの処理について具体的に説明する。図７は、水平分析フィルタリングを、図６のリフティング構成により実行する場合の例を示している。
【００７８】
図７の例においては、入力される水平方向の係数に対して、図６で上述した４つのステップ（ステップＡ１乃至Ａ４）の処理を経て、高域成分の係数（以下、高域係数とも称する）と低域成分の係数（以下、低域係数とも称する）が生成される例が示されており、リフティングのステップの方向は、図中上から下に進む。また、水平方向の係数の上に示される数字は、列（コラム）番号を示している。
【００７９】
さらに、上から１段目の丸および四角は、それぞれ、入力される高域係数および低域係数を表しており、２段目以降の丸および四角は、それぞれ、リフティング演算の過程で生成される高域係数および低域係数を表しており、その中でも、ハッチが付された丸および四角は、それぞれ、リフティング演算の結果である高域係数および低域係数を表している。
【００８０】
以下、動作について上から順に説明する。図７の上段には、水平方向にコラム番号４乃至６の３コラムの係数が入力されて、水平方向のリフティング構成による演算（以下、水平リフティング演算と称する）が行われる場合の例が示されている。
【００８１】
この水平リフティング演算のステップＡ３において１番目の高域係数を求め、ステップＡ４において１番目の低域係数を求めるためには、コラム番号０乃至４の４コラムの係数の入力が必要である。
【００８２】
その後、２番目の高域係数と低域係数を求めるためには、太線実線で示される３つの係数と、丸数字で示されるコラム番号５および６の２コラムの係数が必要であり、さらに、ステップＡ２のＰ１が示される係数を算出するためには、丸数字で示されるコラム番号４の係数も必要である。
【００８３】
太線実線で示される３つの係数は、１番目の高域係数および低域係数を求めるための水平リフティング演算（以下、１番目の水平リフティング演算とも称する）の過程で生成される係数のうちの一部である。
【００８４】
すなわち、２番目の高域係数と低域係数を求めるためには、結局、丸数字で示されるコラム番号４乃至６の３コラムの係数の入力が必要であり、さらに、１番目の水平リフティング演算の過程において生成される太線実線で示される３つの係数を、途中演算用の係数として、ラッチしておく必要がある。実際には、高々３つの係数であるので、フリップフロップ等の小容量の記憶領域を用いることで対応することができる。
【００８５】
したがって、１番目の水平リフティング演算においてラッチされていた太線実線で示される３つの係数と、入力されたコラム番号４乃至６の３コラムの係数が用いられて水平リフティング演算が行われることにより、その演算過程および終了時においては、２番目の高域係数と低域係数を含めた４つの係数（太線点線で示される）が生成される。これらのうち、一点鎖線で示される３つの係数は、３番目の高域係数と低域係数を求めるために必要な係数であるので、途中演算用の係数として、内蔵されるフリップフロップにラッチされる。
【００８６】
コラム番号６の係数の入力の後、水平方向に２コラムの係数が追加入力される場合、すなわち、水平方向にコラム番号６乃至８の３コラムの係数が入力されて、水平リフティング演算が行われる場合の例が、図７の下段に示されている。
【００８７】
２番目の場合と同様に、３番目の高域係数と低域係数を求めるためには、太線実線で示される３つの係数と、丸数字で示されるコラム番号７および８の２コラムの係数が必要であり、さらに、ステップＡ２のＰ２が示される係数を算出するためには、丸数字で示されるコラム番号６の係数も必要であることがわかる。
【００８８】
なお、下段の太線実線で示される３つの係数は、上段の一点鎖線で示されるように、２番目の水平リフティング演算でフリップフロップにラッチされている。
【００８９】
したがって、２番目の水平リフティング演算でラッチされていた太線実線で示される３つの係数と、入力されたコラム番号６乃至８の３コラムの係数が用いられて水平リフティング演算が行われることにより、３番目の高域係数と低域係数を含めた４つの係数（太線点線で示される）が生成される。これらのうち、一点鎖線で示される３つの係数は、４番目の高域係数と低域係数を求めるために必要な係数であるので、内蔵されるフリップフロップにラッチされる。
【００９０】
以上のようにして、３コラム分の係数を順次入力しながら、途中演算用の３つの係数を保持しながら、水平リフティング演算が、画面の最右端のコラムまで実行されることで、水平方向の分析フィルタリングが完了される。
【００９１】
なお、以上においては、リフティング構成による１ライン分の水平分析フィルタリングの例を説明したが、上述した動作によって、係数のラインを上から下方向に順次入力しながら、リフティング構成により水平分析フィルタリングを行う動作を、図８を参照して説明する。なお、図８において、図６および図７と対応する係数については同様に図示されており、その詳細な説明は繰り返しになるので省略する。
【００９２】
図８の左側には、各入力ラインに対して、水平リフティング演算が行われる例が示されており、右側には、上から下の垂直方向に順に展開されていく各入力ラインの水平リフティング演算の結果の係数に対して、垂直リフティング演算が行われる例が概念的に示されている。
【００９３】
図中左から順に説明すると、先頭の入力ライン０における係数に対して、４つのステップからなる水平リフティング演算を経て１乃至１１の数字が付されている低域係数および高域係数が生成されている。このうち、奇数番目の数字（１，３，５，７，９，１１）が付されている係数は低域係数で、偶数番目の数字（２，４，６，８，１０）が付されている係数は高域係数である。
【００９４】
入力ライン１しか図示されていないが、入力ライン１乃至入力ラインｎに関しても同様である。すなわち、先頭の入力ライン１における係数に対して、４つのステップからなる水平リフティング演算を経て１乃至１１の数字が付されている低域係数および高域係数が生成されており、このうち、奇数番目の数字（１，３，５，７，９，１１）が付されている係数は低域係数で、偶数番目の数字（２，４，６，８，１０）が付されている係数は高域係数である。
【００９５】
そして、図８の右側に示すように、入力ライン０の水平フィルタリングの結果の１乃至１１が付された係数は、上から１段目に、手前から奥への水平方向に並べて展開される。入力ライン１の水平フィルタリングの結果の１乃至１１が付された係数は、上から２段目に、手前から奥への水平方向に並べて展開される。入力ライン２の水平フィルタリングの結果の係数は、上から３段目に、手前から奥への水平方向に並べて展開される。
【００９６】
以上のように、各入力ライン０乃至入力ラインｎに対しての水平フィルタリングの結果の係数が、図８の右側に示すように、上から下の垂直方向に順番に展開されていく。なお、実際には、各入力ラインの水平フィルタリングの結果の１乃至１１が付された係数は、手前から奥への水平方向に低域と高域が交互に並んでいる。
【００９７】
そして、垂直方向の係数が所定数集まり次第、すなわち、所定ライン数集まり次第、右側のリフティングのステップの方向に示されるように、左から右へと、垂直方向のリフティング構成による演算（すなわち、垂直リフティング演算）が行われる。
【００９８】
次に、垂直分析フィルタリングについて具体的に説明する。図９は、垂直方向の分析フィルタリングを、図６のリフティング構成により実行する場合の例を示している。
【００９９】
なお、この図は、図８の右側に概念的に示した水平方向に展開されて並ぶ係数１つに着目したものであり、実際の２次元のウェーブレット変換では、ウェーブレット変換の過程で生成される周波数成分（サブバンド）の水平方向の係数の個数だけ、垂直方向の分析フィルタリングの計算が必要になることは自明である。
【０１００】
図９の例においては、垂直方向の係数に対して、図６で上述した４つのステップ（ステップＡ１乃至Ａ４）の処理を経て、高域係数と低域係数が生成される例が示されており、リフティングのステップの方向は、図中左から右に進む。また、垂直方向の係数の左に示される数字は、ライン番号を示している。
【０１０１】
さらに、左から１列目の丸および四角は、それぞれ、入力される高域係数および低域係数を表しており、２列目以降の丸および四角は、それぞれ、リフティング演算の過程で生成される高域係数および低域係数を表しており、その中でも、ハッチが付された丸および四角は、それぞれ、リフティング演算の結果である高域係数および低域係数を表している。
【０１０２】
以下、動作について左から順に説明する。図９の左側には、垂直方向にライン番号４乃至６の３ラインの係数が入力されて、垂直リフティング演算が行われる場合の例が示されている。
【０１０３】
この垂直リフティング演算のステップＡ３において１番目の高域係数を求め、ステップＡ４において１番目の低域係数を求めるためには、ライン番号０乃至４の４ラインの係数が必要である。
【０１０４】
その後、２番目の高域係数と低域係数を求めるためには、太線実線で示される３つの係数と、丸数字で示されるライン番号５および６の２ラインの係数が必要であり、さらに、ステップＡ２のＰ１が示される係数を算出するためには、丸数字で示されるライン番号４の係数も必要である。
【０１０５】
太線実線で示される３つの係数は、１番目の高域係数および低域係数を求めるための垂直リフティング演算（以下、１番目の垂直リフティング演算と称する）の過程で生成される係数のうちの一部である。
【０１０６】
すなわち、２番目の高域係数と低域係数を求めるためには、結局、丸数字で示されるライン番号４乃至６の３ラインの係数の入力が必要である。さらに、１番目の垂直リフティング演算の過程において生成される太線実線で示される３つの係数が必要である。ウェーブレット変換部１５１は、この３つの係数を途中演算用の係数として記憶する。
【０１０７】
したがって、１番目の垂直リフティング演算で記憶されていた太線実線で示される３つの係数と、対応するレベルのバッファから読み出され入力されるライン番号４乃至６の３ラインの係数が用いられて垂直リフティング演算が行われることにより、２番目の高域係数と低域係数を含めた４つの係数（太線点線で示される）が得られる。これらのうち、一点鎖線で示される３つの係数は、３番目の高域係数と低域係数を求めるために必要な係数であるので記憶される。
【０１０８】
ライン番号６の係数の読み出しの後、２ラインの係数が追加して読み出される場合、すなわち、垂直方向にライン番号６乃至８の３ラインの係数が入力されて、垂直リフティング演算が行われる場合の例が、図９の右側に示されている。
【０１０９】
２番目の場合と同様に、３番目の高域係数と低域係数を求めるためには、太線実線で示される３つの係数と、丸数字で示されるライン番号７および８の２ラインの係数が必要であり、さらに、ステップＡ２のＰ２が示される係数を算出するためには、丸数字で示されるライン番号６の係数も必要であることがわかる。
【０１１０】
なお、右側の太線実線で示される３つの係数は、左側の一点鎖線で示されるように、２番目の垂直リフティング演算で記憶されている。したがって、２番目の垂直リフティング演算で記憶されていた太線実線で示される３つの係数と、対応するレベルのバッファから読み出されて入力されるライン番号６乃至８の３ラインの係数が用いられて垂直リフティング演算が行われることにより、３番目の高域係数と低域係数を含めた４つの係数（太線点線で示される）が得られる。これらのうち、一点鎖線で示される３つの係数は、４番目の高域係数と低域係数を求めるために必要な係数であるので記憶される。
【０１１１】
以上のようにして、３ライン分の係数を順次入力しながら、途中演算用の３つの係数を保持しながら、垂直リフティング演算が、画面の最下位のラインまで実行されることで、垂直方向の分析フィルタリングが完了される。
【０１１２】
図２に戻り、量子化部１５２は、ウェーブレット変換部１５１により生成される各成分の係数を、例えば量子化ステップサイズで除算することにより量子化し、量子化係数を生成する。この際、量子化部１５２は、ラインブロック（プレシンクト）毎に量子化ステップサイズを設定することができる。このラインブロックは、ある画像領域のすべての周波数成分（図５の場合、１ＬＬ乃至３ＨＨまでの１０個の周波数成分）の係数を包含しているため、ラインブロック毎に量子化を行えば、ウェーブレット変換の特徴である多重解像度分析の利点を活かすことができる。また、全画面でラインブロック数だけを決めればよいため、量子化の負荷も小さくて済む。
【０１１３】
さらに、画像信号のエネルギは一般的に低域成分に集中しており、また、人間の視覚上、低域成分の劣化が目立ちやすいという特性があるため、量子化に際しては、低域成分のサブバンドでの量子化ステップサイズが結果的に小さな値になるように、重み付けを行うことが有効である。この重み付けにより、低域成分には相対的に多くの情報量が割り当てられるようになり、全体の主観的な画質が向上する。
【０１１４】
エントロピ符号化部１５３は、量子化部１５２で生成された量子化係数を情報源符号化し、圧縮された符号化コードストリームを生成する。情報源符号化としては、例えばJPEG方式やMPEG（Moving Picture Experts Group）方式で用いられているハフマン符号化や、JPEG2000方式で用いられているさらに高精度な算術符号化を用いることができる。
【０１１５】
ここで、エントロピ符号化をどの範囲の係数に対して行うかは、圧縮効率に直接関係する非常に重要な要素になる。例えば、JPEG方式やMPEG方式では、８×８のブロックに対してDCT（Discrete Cosine Transform）変換を施し、生成された６４個のDCT変換係数に対してハフマン符号化を行うことで、情報を圧縮している。すなわち、６４個のDCT変換係数がエントロピ符号化の範囲になる。
【０１１６】
ウェーブレット変換部１５１では、８×８ブロックに対するDCT変換とは異なり、ライン単位でウェーブレット変換を施しているため、エントロピ符号化部１５３では、周波数帯域（サブバンド）毎に独立に、且つ各周波数帯域内をＰライン毎に情報源符号化する。
【０１１７】
Ｐは１ラインが最低であるが、ライン数が少ない場合には参照情報が少なくて済み、メモリ容量を減らすことができる。逆に、ライン数が多い場合には情報量がその分増えるため、符号化効率が向上させることができる。しかしながら、Ｐが各周波数帯域内のラインブロックのライン数を超えた値になると、次のラインブロックのラインまで必要になる。このため、このラインブロックの量子化係数データがウェーブレット変換及び量子化によって生成されるまで待たなければならず、この時間が遅延時間となってしまう。
【０１１８】
したがって、低遅延のためには、Ｐはラインブロックのライン数以下である必要がある。例えば、図５の例では、１ＬＬ，１ＨＬ，１ＬＨ，１ＨＨの周波数帯域については、ラインブロックのライン数＝１ラインであるためＰ＝１となる。また、２ＨＬ，２ＬＨ，２ＨＨのサブバンドについては、ラインブロックのライン数＝２ラインであるためＰ＝１または２となる。
【０１１９】
レート制御部１５４は、最終的に目標のビットレート又は圧縮率に合わせるための制御を行い、レート制御後の符号化コードストリームを外部に出力する。例えば、このレート制御部１５４は、ビットレートを上げる場合には量子化ステップサイズを小さくし、ビットレートを下げる場合には量子化ステップサイズを大きくするように、量子化部１５２に対して制御信号を送信する。
【０１２０】
次に、以上のように圧縮符号化された符号化データを伸長復号する方法について説明する。図１０は、伸長復号を行う動画像伸長復号部１３３の構成例を示すブロック図である。図１０において、動画像伸長復号部１３３は、エントロピ復号部１７１、逆量子化部１７２、およびウェーブレット逆変換部１７３を有する。
【０１２１】
エントロピ復号部１７１は、入力した符号化データを情報源復号し、量子化係数データを生成する。情報源復号としては、動画像圧縮符号化部１２１の情報源符号化に対応して、ハフマン復号や、高効率な算術復号などを用いることができる。なお、動画像圧縮符号化部１２１においてＰラインごとに情報源符号化されている場合、エントロピ復号部１７１においても同様に、各サブバンドが独立に、かつ各サブバンド内がＰライン毎に情報源復号される。
【０１２２】
逆量子化部１７２は、量子化係数データに量子化ステップサイズを乗算することにより逆量子化し、係数データを生成する。この量子化ステップサイズは、通常、符号化コードストリームのヘッダなどに記述されている。なお、動画像圧縮符号化部１２１において、ラインブロック毎に量子化ステップサイズが設定されている場合には、逆量子化部１７２においても同様に、ラインブロック毎に逆量子化ステップサイズが設定されて、逆量子化される。
【０１２３】
ウェーブレット逆変換部１７３は、ウェーブレット変換部１５１の逆処理を行う。つまり、ウェーブレット逆変換部１７３は、ウェーブレット変換部１５１により複数の周波数帯域に分割された係数データに対して、低域成分と高域成分を合成するフィルタ処理（合成フィルタ処理）を水平方向と垂直方向の両方に対して行う。
【０１２４】
上述したリフティング技術を適用したときの分析フィルタリングに対応して、効率的にフィルタリングを実行することができることから、ウェーブレット逆変換の合成フィルタリングにおいても、同様にリフティング技術を用いることが好ましい。
【０１２５】
図１１は、JPEG2000規格でも採用されている９×７分析フィルタのリフティング構成を示している。この９×７分析フィルタに対してリフティング技術を適用したときの合成フィルタリングについて説明する。
【０１２６】
図１１の例において、１段目（最上段）は、ウェーブレット変換により生成された係数であり、丸印（●）が高域成分の係数を示し、四角印（■）が低域成分の係数を示す。２，３段目は、それぞれステップＢ１およびステップＢ２の処理で生成される成分（係数）を示す。また、４段目は、ステップＢ３の処理で生成される偶数成分出力を示し、５段目は、ステップＢ４の処理で生成される奇数成分出力を示している。
【０１２７】
９×７分析フィルタに対してリフティング技術を適用した合成フィルタリングにおいては、ステップＢ３の処理で偶数成分が得られ、ステップＢ４の処理で奇数成分が得られる。なお、ステップＢ１乃至ステップＢ４の処理は、次の式（５）乃至式（８）で表される。
【０１２８】
stepＢ１：ｓｉ１＝ｓｉ２−δ（ｄｉ−1２＋ｄｉ２）  ・・・（５）
stepＢ２：ｄｉ１＝ｄｉ３−γ（ｓｉ１＋ｓｉ＋１１）  ・・・（６）
stepＢ３：ｓｉ０＝ｓｉ１−β（ｄｉ−１１＋ｄｉ１）  ・・・（７）
stepＢ４：ｄｉ０＝ｄｉ１−α（ｓｉ０＋ｓｉ＋１０）  ・・・（８）
（α＝-1.586134342，β＝-0.05298011857，γ＝0.8829110755，δ＝0.4435068520）
【０１２９】
このように、リフティング技術を適用した合成フィルタリングにおいては、ステップＢ１およびＢ２の処理が行われ、ステップＢ３で、偶数成分の係数が生成された後に、ステップＢ４で、奇数成分の係数が生成される。この際に用いられるフィルタバンクは、式（５）乃至式（８）に示されるように、除算とシフト演算のみで実現できる。したがって、計算量を大幅に低減することができる。
【０１３０】
そこで、次に説明するように、ウェーブレット逆変換部１７３においても、画像垂直方向に合成フィルタリングする垂直合成フィルタリングと、画像水平方向に合成フィルタリングする水平合成フィルタリングとに、このリフティング技術を適用する。なお、用いる式が異なるだけであり、垂直合成フィルタリングは、図６を参照して上述した垂直分析フィルタリングと基本的に同様な動作を行い、水平合成フィルタリングは、図７を参照して上述した水平分析フィルタリングと基本的に同様な動作を行う。
【０１３１】
まず、垂直合成フィルタリングの処理について具体的に説明する。図１２は、垂直方向の係数群に対しての垂直合成フィルタリングを、図１１のリフティング構成により実行する場合の例を示している。
【０１３２】
図１２の例においては、垂直方向の係数に対して、図１１で上述した４つのステップ（ステップＢ１乃至Ｂ４）の処理を経て、偶数番目の係数（以下、偶数係数とも称する）と奇数番目の係数（以下、奇数係数とも称する）が生成される例が示されており、リフティングのステップの方向は、図中左から右に進む。
【０１３３】
また、垂直方向の係数の左側に示される数字は、ライン番号を示しており、左から１列目のハッチが付された丸および四角は、それぞれ、高域入力および低域入力を表している。さらに、２列目以降の丸および四角は、それぞれ、リフティング演算の過程で生成される高域係数および低域係数を表しており、その中でも、黒丸および黒四角は、それぞれ、リフティング演算の結果である奇数係数および偶数係数を表している。
【０１３４】
以下、動作について左から順に説明する。図１２の左側には、垂直方向にライン番号４乃至６の３ラインの係数が入力されて、垂直方向のリフティング構成による演算（すなわち、垂直リフティング演算）が行われる場合の例が示されている。なお、いまの場合、最上段の偶数係数は、奇数係数と組みになっていないのでその説明を省略する。
【０１３５】
この垂直リフティング演算のステップＢ３において１番目の偶数係数を求め、ステップＢ４において１番目の奇数係数を求めるためには、ライン番号０乃至５の６ラインの係数が必要である。
【０１３６】
その後、２番目の偶数係数と奇数係数を求めるためには、太線実線で示される３つの係数と、丸数字で示されるライン番号６および７の２ラインの係数が必要であり、さらに、ステップＢ２のＱ１が示される係数を算出するためには、丸数字で示されるライン番号５の係数も必要である。
【０１３７】
太線実線で示される３つの係数は、１番目の偶数係数および奇数係数を求めるための垂直リフティング演算（以下、１番目の垂直リフティング演算と称する）の過程で生成される係数のうちの一部である。
【０１３８】
したがって、２番目の偶数係数と奇数係数を求めるためには、結局、丸数字で示されるライン番号５乃至７の３ラインの係数の入力が必要であり、さらに、１番目の偶数係数と奇数係数を求めるための垂直リフティング演算の過程において生成される太線実線で示される３つの係数を記憶しておく必要がある。なお、このとき、垂直方向の３ラインの係数は、レベル毎に読み出される。
【０１３９】
したがって、１番目の垂直リフティング演算でバッファに記憶されていた太線実線で示される３つの係数と、入力されるライン番号５乃至７の３ラインの係数が用いられて垂直リフティング演算が行われることにより、２番目の偶数係数と奇数係数を含めた４つの係数（太線点線で示される）が得られる。このうち、一点鎖線で示される３つの係数は、３番目の偶数係数と奇数係数を求めるために必要な係数であるので記憶される。
【０１４０】
ライン番号７の係数の読み出しの後、２ラインの係数が追加して読み出される場合、すなわち、垂直方向にライン番号７乃至９の３ラインの係数が入力されて、垂直リフティング演算が行われる場合の例が、図１２の右側に示されている。
【０１４１】
２番目の場合と同様に、３番目の偶数係数と奇数係数を求めるためには、太線実線で示される３つの係数と、丸数字で示されるライン番号８および９の２ラインの係数が必要であり、さらに、ステップＢ２のＱ２が示される係数を算出するためには、丸数字で示されるライン番号７の係数も必要である。
【０１４２】
なお、右側の太線実線で示される３つの係数は、左側の一点鎖線で示されるように、２番目の垂直リフティング演算で係数バッファに記憶されている。
【０１４３】
したがって、２番目の垂直リフティング演算で記憶されていた太線実線で示される３つの係数と、入力されるライン番号７乃至９の３ラインの係数が用いられて垂直リフティング演算が行われることにより、３番目の偶数係数と奇数係数を含めた４つの係数（太線点線で示される）が得られる。このうち、一点鎖線で示される３つの係数は、４番目の偶数係数と奇数係数を求めるために必要な係数であるので記憶される。
【０１４４】
以上のようにして、３ライン分の係数を順次入力しながら、途中演算用の３つの係数を保持しながら、垂直リフティング演算が、画面の最下位のラインまで実行されることで、垂直方向の合成フィルタリングが完了される。
【０１４５】
次に、水平合成フィルタリングについて具体的に説明する。図１３は、垂直方向の合成フィルタリングの結果を水平方向に並べて、水平合成フィルタリングを、図１１のリフティング構成により実行する場合の例を示している。
【０１４６】
図１３の例においては、水平方向の係数に対して、図１１で上述した４つのステップ（ステップＢ１乃至Ｂ４）の処理を経て、奇数係数と偶数係数が生成される例が示されており、リフティングのステップの方向は、図中上から下に進む。
【０１４７】
また、水平方向の係数の上に示される数字は、列（コラム）番号を示しており、上から１段目のハッチが付された丸および四角は、それぞれ、高域入力および低域入力を表しており、２段目以降の丸および四角は、それぞれ、リフティング演算の過程で生成される高域係数および低域係数を表しており、その中でも、黒丸および黒四角は、それぞれ、リフティング演算の結果である奇数係数および偶数係数を表している。
【０１４８】
以下、動作について上から順に説明する。図１３の上段には、水平方向にコラム番号５乃至７の３コラムの係数が入力されて水平方向のリフティング構成による演算（以下、水平リフティング演算と称する）が行われる場合の例が示されている。なお、いまの場合、最左側の偶数係数は奇数係数と組みになっていないのでその説明を省略する。
【０１４９】
この水平リフティング演算のステップＢ３において１番目の偶数係数を求め、ステップＢ４において１番目の奇数係数を求めるためには、コラム番号０乃至５の６コラムの係数が必要である。
【０１５０】
その後、２番目の奇数係数と偶数係数を求めるためには、太線実線で示される３つの係数と、丸数字で示されるコラム番号６および７の２コラムの係数が必要であり、さらに、ステップＢ２のＱ１が示される係数を算出するためには、丸数字で示されるコラム番号５の係数も必要である。
【０１５１】
太線実線で示される３つの係数は、１番目の奇数係数および偶数係数を求めるための水平リフティング演算（以下、１番目の水平リフティング演算とも称する）の過程で生成される係数のうちの一部である。
【０１５２】
すなわち、２番目の奇数係数と偶数係数を求めるためには、結局、丸数字で示されるコラム番号５乃至７の３コラムの係数の入力が必要であり、さらに、１番目の水平リフティング演算の過程において生成される太線実線で示される３つの係数を、ラッチしておく必要がある。実際には、高々３つの係数であるので、フリップフロップのような小容量の記憶領域を用いることで対応することができる。
【０１５３】
したがって、１番目の水平リフティング演算でラッチされていた太線実線で示される３つの係数と、入力されたコラム番号５乃至７の３コラムの係数が用いられて水平リフティング演算が行われることにより、その演算過程および終了時においては、２番目の奇数係数と偶数係数を含めた４つの係数（太線点線で示される）が得られる。このうち、一点鎖線で示される３つの係数は、３番目の奇数係数と偶数係数を求めるために必要な係数であるので、内蔵されるフリップフロップにラッチされる。
【０１５４】
コラム番号７の係数の入力の後、水平方向に２コラムの係数が追加入力される場合、すなわち、水平方向にコラム番号７乃至９の３コラムの係数が入力されて、水平リフティング演算が行われる場合の例が、図１３の下段に示されている。
【０１５５】
２番目の場合と同様に、３番目の奇数係数と偶数係数を求めるためには、太線実線で示される３つの係数と、丸数字で示されるコラム番号８および９の２コラムの係数が必要であり、さらに、ステップＢ２のＱ２が示される係数を算出するためには、丸数字で示されるコラム番号７の係数も必要である。
【０１５６】
なお、下段の太線実線で示される３つの係数は、上段の一点鎖線で示されるように、２番目の水平リフティング演算でラッチされている。
【０１５７】
したがって、２番目の水平リフティング演算でラッチされていた太線実線で示される３つの係数と、新たに入力されるコラム番号７乃至９の３コラムの係数が用いられて水平リフティング演算が行われることにより、３番目の奇数係数と偶数係数を含めた４つの係数（太線点線で示される）が得られる。このうち、一点鎖線で示される３つの係数は、４番目の奇数係数と偶数係数を求めるために必要な係数であるので、内蔵されるフリップフロップにラッチされる。
【０１５８】
以上のようにして、３コラム分の係数を順次入力しながら、途中演算用の３つの係数を保持しながら、水平リフティング演算が、画面の最右端のコラムまで実行されることで、水平方向の合成フィルタリングが完了される。
【０１５９】
以上のように、垂直合成フィルタリングおよび水平合成フィルタリングにおいても、９×７ウェーブレット変換フィルタのリフティング構成が用いられることで、図１０を参照して上述したように、対応する分割レベルのバッファには、３ライン分の係数を記憶する各ラインの係数用のバッファが必要となり、さらに、図１２のＱ１およびＱ２の係数を求めるため、垂直リフティング演算の際、すでに使用したラインの係数も、次の垂直リフティング演算に必要になる。
【０１６０】
したがって、対応するレベルのバッファの内部では、１つのラインのバッファに記憶されている係数を、隣接するラインのバッファに、次々と転送していく構成となる。
【０１６１】
以上のように動画像データは、送信装置１０１において圧縮符号化され、符号化データとして送受信され、受信装置１０２において伸長復号される。
【０１６２】
図１４は、その圧縮符号化と伸長復号の各処理を模式的に示すものである。図１４に示される圧縮符号化処理１８１が送信装置１０１において実行され、伸長復号処理１８２が受信装置１０２において実行される。
【０１６３】
図１４に示されるように、圧縮符号化処理１８１においては、１ピクチャ分の非圧縮の画像データは、複数ライン（ラインブロック）毎にウェーブレット変換され、階層化された複数のサブバンドに分割される。図１４の非圧縮データブロック１乃至非圧縮データブロックＮは、それぞれ、所定数のライン（例えばラインブロック）の画像データである。
【０１６４】
図１４のＬ（ｉ，ｎ）は、各階層のサブバンドの所定のライン数の圧縮符号化データを示す。ここで、ｉは、階層番号を示す。また、ｎは、各階層の圧縮符号化データＬの番号を示す。図１４の例の場合、ｉ＝１，２，３、ｎ＝１，２，・・・，Ｎである。
【０１６５】
階層番号１の圧縮符号化データＬ（１，ｎ）は、最下位層のＬＬ成分、ＨＬ成分、ＬＨ成分、およびＨＨ成分の４つの成分が符号化されたものであり、階層番号２以上の階層の圧縮符号化データＬ（ｉ，ｎ）（ｉ≧２）は、その階層のＨＬ成分、ＬＨ成分、ＨＨ成分の３つの成分が符号化されたものである。
【０１６６】
上述したように、分析フィルタリングは、リフティング演算を用いて行われる。したがって、圧縮符号化データＬ（ｉ，ｎ）は、それより上位（図中左側）の階層の複数のブロック（ｎ以外のブロック）のデータに依存する。図１４の非圧縮データブロックｎや圧縮符号化データＬ（ｉ，ｎ）の間の矢印は、この依存関係を示す。
【０１６７】
例えば、階層番号１の圧縮符号化データＬ（１，１）は、階層番号２の圧縮符号化データＬ（２，１）、Ｌ（２，２）、およびＬ（２，３）、階層番号３の圧縮符号化データＬ（３，１）、Ｌ（３，２）、Ｌ（３，３）、およびＬ（３，４）、並びに、非圧縮データの非圧縮データブロック１、非圧縮データブロック２、非圧縮データブロック３、非圧縮データブロック４、および非圧縮データブロック５に依存する。また、例えば、階層番号２の圧縮符号化データＬ（２，３）は、階層番号３の圧縮符号化データＬ（３，２）およびＬ（３，３）、並びに、非圧縮データの非圧縮データブロック１乃至非圧縮データブロック３に依存する。
【０１６８】
このように、１つのブロックの圧縮データを生成するのに、複数のブロックのデータが必要になる。伸長復号処理１８２は、図１４に示されるように、圧縮符号化処理１８１と対称な処理により実現される。したがって、依存性の関係も符号化処理の場合と同様に存在する。
【０１６９】
例えば、非圧縮データブロック１乃至非圧縮データブロック５は、いずれも、階層番号１の圧縮符号化データＬ（１，１）のデータを用いて生成される。つまり、非圧縮データブロック１乃至非圧縮データブロック５は、いずれも、階層番号１の圧縮符号化データＬ（１，１）に依存する。
【０１７０】
したがって、仮に、階層番号１の圧縮符号化データＬ（１，１）のデータに復元不可能な損失（エラー）が発生すると、このようなブロック間の依存性により、そのエラーが後続のブロックに伝搬し、非圧縮データブロック１乃至非圧縮データブロック５に広がってしまった。
【０１７１】
仮に、損失部分を補完データで隠ぺいするようにしても、その隠ぺいに使用された補完データは、一般的に失った本来のデータとは異なるものであるので、画質劣化が生じることになる。つまり、この場合も上述したようなエラー伝搬が発生する。
【０１７２】
このように画質劣化の範囲が広がると、視覚的に劣化が目立つようになる。つまり、実質的に画質劣化が大きくなってしまう。
【０１７３】
しかしながら、エラーの発生を抑制する、すなわち、損失したパケットの復元能力を向上させるためには、FEC（Forward Error Correction）ブロックサイズを大きくする必要がある。ただし、FECブロックを大きくすると遅延時間も増大してしまう。ネットワークシステム１００は、上述したように低遅延に画像データを伝送させることが要求されるシステムであり、許容される遅延時間は大きくない。そのため、単純にFECブロックサイズを大きくすることで損失パケットの復元性能を向上させることは困難であった。
【０１７４】
［システム全体の処理の説明］
そこで、ネットワークシステム１００は、図１５に示されるように、発生したエラーが他のブロックに伝搬することを抑制するためにFECを利用する。
【０１７５】
例えば、ビデオカメラ等を経由しビデオ入力インタフェースより送信装置１０１に入力されたビデオデータ（ビデオIN）は、動画像圧縮符号化部１２１により、上述したように階層圧縮符号化される。ビデオデータの各ピクチャは、矢印１９１に示されるようにリフティングによりウェーブレット変換され、圧縮符号化データに変換される。
【０１７６】
圧縮符号化データは、所定数毎に、冗長符号化部１２２によってFEC（Forward Error Correction）符号化される。冗長符号化部１２２は、矢印１９２に示されるように、圧縮符号化データを、例えば、依存関係に応じてFECブロック化する。
【０１７７】
図１５の例の場合、階層番号１のある圧縮符号化データＬ（例えばＬ（１，１））が依存する圧縮符号化データＬが全て含まれるように、９個の圧縮符号化データＬ毎に（３ブロック毎に）FECブロック化が行われている。
【０１７８】
冗長符号化部１２２は、このようなFECブロックを分割してRTPパケット化（元データRTPパケット）し、冗長データ（冗長データRTPパケット）を生成する。
【０１７９】
RTP送信部１２３は、各RTPパケットを、矢印１９４に示されるように、ネットワーク１１０を介して受信装置１０２に送信する。受信装置１０２のRTP受信部１３１は、そのRTPパケットを受信する。
【０１８０】
冗長復号部１３２は、受信したRTPパケットに対して、矢印１９５に示されるように、FEC復号処理を行い、さらにデパケタイズし、各ブロックの各階層の符号化データを抽出する。
【０１８１】
この冗長復号部１３２によりFEC復号されて得られたデータは、主にエラー伝搬対策として利用される。つまり、後段のブロックの復号処理に利用する。
【０１８２】
つまり、矢印１９６に示されるように、FEC復号された各ブロックの各階層の符号化データは、矢印１９７に示されるように伸長復号され、ウェーブレット逆変換される。冗長復号部１３２により復元された損失データは、このウェーブレット逆変換処理において、他のブロックの合成処理に利用される。
【０１８３】
ウェーブレット逆変換において、FEC復号により復元された元のデータを用いることにより、後段のブロックは、エラーを含まないように復号することができる。すなわち、損失エラーが他のブロックに伝搬することを抑制することができる。つまり、エラーの影響範囲を小規模に留めることができるので、ユーザが体感する視覚的な画質劣化を抑制することができる。
【０１８４】
例えば、圧縮符号化データＬ（例えばＬ（１，１））において損失が発生した場合、上述したように、そのエラーの影響が非圧縮データブロック１乃至非圧縮データブロック５に広がる恐れがあるが、上述したようなエラー伝搬の抑制により、エラーの影響を非圧縮データブロック１に抑えることができる。
【０１８５】
なお、FEC復号結果を損失パケットの回復に利用することもできるが、その場合、上述したように遅延時間の制限から復元性能を向上させることが困難である。復元に失敗すると、上述したようにエラー伝搬によりその影響範囲が拡大してしまう。
【０１８６】
そこで、上述したように、FEC復号結果をエラー伝搬対策に利用する。この場合、FEC復号結果の利用タイミングが次以降のブロックの復号処理まで遅れるので、その分、FECブロックを大きくすることができ、容易に復元性能を向上させることができる。
【０１８７】
ネットワークシステム１００においては、より低遅延にデータを伝送させることが求められるので、各ブロックのライン数は少なく、１ブロックにおいてエラーが発生しても、その視覚的影響は限りなく小さい。つまり、受信装置１０２は、上述したようにエラー伝搬を抑制することにより、十分に画質劣化を抑制することができる。
【０１８８】
なお、以上においては、圧縮符号化方法として、ウェーブレット変換を用いる方法を説明したが、符号化データを複数の解像度で復号可能な符号化方法（スケーラブルコーデック）であり、符号化（階層化）処理単位の符号化データを生成するために元画像の他の部分のデータが必要な（符号化（階層化）処理単位間で依存性のある）方法であれば、どのような方法を適用するようにしてもよい。例えば、ITU-T（International Telecommunication Union Telecommunication Standardization Sector）H.264/SVC（Scalable Video Codec）等であってもよい。
【０１８９】
［冗長符号化部の構成例］
次に各処理部の詳細について説明する。図１６は、送信装置１０１の冗長符号化部１２２の主な構成例を示すブロック図である。図１６に示されるように冗長符号化部１２２は、FECブロック化部２２１およびFEC符号化部２２２を有し、所定のデータ単位毎に、符号化データをFECブロック化部２２１によりFECブロック化し、各FECブロックをFEC符号化部２２２によりFEC符号化する。
【０１９０】
［冗長復号部の構成例］
図１７は、受信装置１０２の冗長復号部１３２の主な構成例を示すブロック図である。
【０１９１】
図１７に示されるように、冗長復号部１３２は、制御部２３１、取得部２３２、保持部２３３、供給部２３４、隠ぺい部２３５、FEC復号部２３６、および伝搬対策部２３７を有する。
【０１９２】
制御部２３１は、取得部２３２乃至伝搬対策部２３７を制御する。図１７においては、制御部２３１に関する矢印は省略しているが、実際には、制御部２３１は、各部に制御命令やデータ等を供給したり、適宜、各部から情報を収集したりする。
【０１９３】
取得部２３２は、RTP受信部１３１により受信されるデータを取得する。保持部２３３は、例えば半導体メモリ等の記憶媒体を有し、取得部２３２から供給されるデータを保持する。供給部２３４は、取得部２３２により取得されたデータを受信データとして動画像伸長復号部１３３のエントロピ復号部１７１に供給する。隠ぺい部２３５は、損失したデータの代わりに、隠ぺい用の所定のデータを、動画像伸長復号部１３３のエントロピ復号部１７１に供給する。
【０１９４】
FEC復号部２３６は、取得部２３２から供給されたデータや保持部２３３から読みだしたデータをFEC復号し、損失したデータを復元する。伝搬対策部２３７は、FEC復号部２３６により復元されたデータを、エラー伝搬対策用のデータとして、ウェーブレット逆変換部１７３に供給する。
【０１９５】
また、制御部２３１は、各種制御処理を実行する。制御部２３１は、機能ブロックとして例えば損失判定部２４１、FECブロック判定部２４２、結果判定部２４３、および終了判定部２４４を有する。これらの機能ブロックは、制御部２３１がプログラムを実行したりデータを処理したりして実現する機能を示している。各処理の詳細については後述する。
【０１９６】
［伝搬対策部の構成例］
図１８は、伝搬対策部２３７の主な構成例を示すブロック図である。
【０１９７】
図１８に示されるように伝搬対策部２３７は、エントロピ復号部２５１、逆量子化部２５２、およびウェーブレット係数更新部２５３を有する。エントロピ復号部２５１および逆量子化部２５２は、図１０のエントロピ復号部１７１および逆量子化部１７２と同様である。つまり、伝搬対策部２３７は、動画像伸長復号部１３３と同様に、FEC復号されて得られた符号化データからウェーブレット係数を生成する。
【０１９８】
ウェーブレット係数更新部２５３は、逆量子化部２５２から供給されるウェーブレット係数を、動画像伸長復号部１３３のウェーブレット逆変換部１７３（図１０）に供給し、ウェーブレット逆変換部１７３が後段のブロックのリフティング演算のために保持している当該ブロックのウェーブレット係数と置き換える（更新する）。
【０１９９】
［冗長符号化処理の流れ］
次に、以上のような各処理部により実行される処理の流れの例を説明する。最初に、図１９のフローチャートを参照して、送信装置１０１の冗長符号化部１２２により実行される冗長符号化処理の流れの例を説明する。
【０２００】
冗長符号化処理を開始すると冗長符号化部１２２のFECブロック化部２２１は、ステップＳ１２１において、動画像圧縮符号化部１２１から供給される符号化データを取得する。
【０２０１】
ステップＳ１２２において、冗長符号化部１２２は、FECブロック化部２２１がFECを行うデータ単位である所定のデータ量分の符号化データを取得したか否かを判定する。取得していないと判定された場合、冗長符号化部１２２は、ステップＳ１２１に処理を戻す。つまり、FECブロック化部２２１は、所定のデータ量分の符号化データを取得するまで繰り返し実行する。
【０２０２】
以上の処理により所定のデータ量分の符号化データが取得されると、冗長符号化部１２２は、処理をステップＳ１２３に進める。FECブロック化部２２１は、ステップＳ１２３において、取得された符号化のデータの中から所定のデータ量分の符号化データを抽出し、FECブロック化し、それをFEC符号化部２２２に供給する。
【０２０３】
FEC符号化部２２２は、ステップＳ１２４においてFECブロック毎にFEC符号化を行い、生成したFEC符号化データを、ステップＳ１２５において、RTP送信部１２３に転送する。
【０２０４】
ステップＳ１２６において、冗長符号化部１２２は、冗長符号化処理を終了するか否かを判定し、終了しないと判定された場合、処理をステップＳ１２１に戻し、それ以降の処理を繰り返す。
【０２０５】
また、ステップＳ１２６において、冗長符号化処理を終了すると判定された場合、冗長符号化部１２２は、冗長符号化処理を終了する。
【０２０６】
以上のように、符号化データは、所定のデータ量毎にFECブロック化され、そのFECブロック毎にFEC符号化され、冗長データが生成される。この冗長データと元の符号化データとを合わせてFEC符号化データと称する。冗長符号化部１２２は、FEC符号化データ（冗長データおよび元の符号化データ）をRTP送信部１２３に供給する。つまり、送信装置１０１は、受信装置１０２に、FEC符号化データを送信する。
【０２０７】
［冗長復号処理の流れ］
次に、図２０のフローチャートを参照して、受信装置１０２の冗長復号部１３２により実行される冗長復号処理の流れの例を説明する。
【０２０８】
冗長復号処理が開始されると、冗長復号部１３２の取得部２３２は、ステップＳ１４１において、RTP受信部１３１から、送信装置１０１から送信されてきたFEC符号化データを取得し、符号化データを抽出する。
【０２０９】
ステップＳ１４２において、損失判定部２４１は、取得したFEC符号化データに含まれるパケットを検査し、符号化データに損失が発生したか否かを判定する。損失が発生したと判定された場合、損失判定部２４１は、処理をステップＳ１４３に進める。
【０２１０】
ステップＳ１４３において、取得部２３２は、符号化データを隠ぺい部２３５に供給する。隠ぺい部２３５は、所謂、エラーコンシールメント処理を行う。つまり、隠ぺい部２３５は、例えば、損失した符号化データの代わりに、所定のダミーデータを動画像伸長復号部１３３のエントロピ復号部１７１を供給する。このダミーデータへの置き換えのデータ単位は、任意であり、例えば、FECブロック単位であっても良い。つまり、隠ぺい部２３５が、損失した符号化データを含むFECブロックの代わりにダミーデータを供給するようにしてもよいし、符号化データの損失した部分のみをダミーデータに置き換え、それを供給するようにしてもよい。ステップＳ１４３の処理が終了すると、隠ぺい部２３５は、処理をステップＳ１４５に進める。
【０２１１】
また、ステップＳ１４２において、取得したFEC符号化データに含まれる符号化データに損失が発生していないと判定された場合、損失判定部２４１は、処理をステップＳ１４４に進める。
【０２１２】
ステップＳ１４４において、取得部２３２は、符号化データを供給部２３４に供給する。供給部２３４は、その符号化データを動画像伸長復号部１３３のエントロピ復号部１７１を供給する。ステップＳ１４４の処理が終了すると、供給部２３４は、処理をステップＳ１４５に進める。
【０２１３】
ステップＳ１４５において、取得部２３２は、符号化データを保持部２３３に供給する。保持部２３３は、供給された符号化データを保持する。
【０２１４】
ステップＳ１４６において、制御部２３１のFECブロック判定部２４２は、取得部２３２によりFECブロックが取得されたか否かを判定する。FECブロック分のデータが取得されたと判定された場合、FECブロック判定部２４２は、処理をステップＳ１４７に進める。
【０２１５】
ステップＳ１４７において、取得部２３２は、取得したFECブロック分のFEC符号化データをFEC復号部２３６に供給する。FEC復号部２３６は、供給されたFECブロックをFEC復号する。
【０２１６】
ステップＳ１４８において、制御部２３１の結果判定部２４３は、FEC復号が成功したか否かを判定する。成功したと判定された場合、結果判定部２４３は、処理をステップＳ１４９に進める。また、FEC復号部２３６は、FEC復号結果（符号化データ）を伝搬対策部２３７に供給する。
【０２１７】
なお、実際には、符号化データに損失が無い場合、FEC復号する必要はない。その場合、FEC復号部２３６は、供給された符号化データをFEC復号結果として出力する。
【０２１８】
ステップＳ１４９において、伝搬対策部２３７は、符号化データを動画像伸長復号部１３３のウェーブレット逆変換部１７３供給し、損失の影響を他のブロックに伝搬させないようにするエラー伝搬対策処理を行う。エラー伝搬対策処理の詳細については後述する。
【０２１９】
エラー伝搬対策処理が終了すると、伝搬対策部２３７は、処理をステップＳ１５０に進める。また、ステップＳ１４６において、FECブロックが取得されていないと判定された場合、FECブロック判定部２４２は、処理をステップＳ１５０に進める。さらに、ステップＳ１４８において、FEC復号が成功しなかったと判定された場合、結果判定部２４３は、処理をステップＳ１５０に進める。
【０２２０】
なお、符号化データに損失が無い場合、そのブロックでエラーが発生しないので、エラー伝搬を抑制させる必要はない。したがって、この場合、伝搬対策部２３７がエラー伝搬対策処理を行うようにしてもよいし、省略するようにしてもよい。
【０２２１】
ステップＳ１５０において、制御部２３１の終了判定部２４４は、冗長復号処理を終了するか否かを判定し、終了しないと判定された場合、処理をステップＳ１４１に戻し、それ以降の処理を繰り返す。また、ステップＳ１５０において、冗長復号処理を終了すると判定された場合、終了判定部２４４は、冗長復号処理を終了する。
【０２２２】
［エラー伝搬対策処理の流れ］
次に、図２１のフローチャートを参照して、図２０のステップＳ１４９において実行されるエラー伝搬対策処理の流れの例を説明する。
【０２２３】
エラー伝搬対策処理が開始されると、伝搬対策部２３７は、ステップＳ１７１において、エントロピ復号部１７１と同様に、符号化データをエントロピ復号し、ステップＳ１７２において、逆量子化部１７２と同様に、その復号結果に対して逆量子化を行う。
【０２２４】
ステップＳ１７３において、伝搬対策部２３７は、逆量子化されたウェーブレット係数を、ウェーブレット逆変換部１７３に供給し、ウェーブレット逆変換部１７３が次のブロックのウェーブレット逆変換の為に保持しているウェーブレット係数を更新する。
【０２２５】
伝搬対策部２３７に供給される符号化データは損失が無い。したがって、伝搬対策部２３７からウェーブレット逆変換部１７３に供給されるウェーブレット係数は、損失の影響を受けていない。
【０２２６】
ウェーブレット逆変換部１７３は、このウェーブレット係数を用いて次のブロックのウェーブレット逆変換を行うことにより、エラーを後のブロックに伝搬させることを抑制することができる。これにより、動画像伸長復号部１３３は、復号画像の、データ損失が影響を与える範囲の拡大を抑制することができる。
【０２２７】
以上のように、冗長復号部１３２は、データ損失による復号画像の視覚的な画質劣化を抑制することができる。特に、上述したような低遅延な画像伝送を行うシステムの場合、符号化単位が小さいので、損失発生箇所の復元を行わなくても、そのデータ損失が復号画像に与える視覚的影響は極めて小さい。
【０２２８】
逆に、より低遅延なデータ伝送を実現しようとすると、他のブロックへの依存度は高まるので、データ損失が復号画像に与える視覚的影響の低減のために、上述したようなエラー伝搬の抑制がより重要になる。
【０２２９】
したがって、より低遅延に画像データを伝送させるシステムほど、上述したようにエラー伝搬を抑制することによる視覚的影響の低減効果は大きくなる。
【０２３０】
なお、上述したようにFEC復号結果をエラー伝搬の抑制に利用することにより、FEC復号結果の利用タイミングが、次のブロックの処理実行タイミングまで時間的に後になる。つまりFEC処理の許容時間が長くなるので、その分FECブロックを大きくすることができる。したがって、FEC処理の回復性能が向上するので、冗長復号部１３２は、データ損失による復号画像への視覚的影響をより確実に低減させることができる。
【０２３１】
＜２．第２の実施の形態＞
［冗長復号部の構成］
なお、従来のように損失したデータを回復する方法と、第１の実施の形態で説明したエラー伝搬を抑制する方法とを併用するようにしてもよい。例えば、受信装置１０２において同期再生を行うようにし、FEC復号処理が同期信号における復号開始時刻に間に合う場合、そのFEC復号処理をデータ回復用の処理として行い、回復された符号化データをそのブロックの復号処理に用いるようにし、FEC復号処理が同期信号における復号開始時刻に間に合わない場合、そのFEC復号処理を上述したようにエラー伝搬対策として行い、回復された符号化データを次のブロックの復号処理に用いるようにしてもよい。
【０２３２】
図２２は、その場合の冗長復号部１３２の主な構成例を示すブロック図である。
【０２３３】
この場合も、冗長復号部１３２は、基本的に図１７の場合と同様の構成を有するが、同期再生を行うために、各部に同期信号を提供する同期部２７１と、データの出力タイミングを揃えるためのバッファ２７２をさらに有する。
【０２３４】
矢印は省略するが、同期部２７１は、各部に同期信号を提供する。各部は、その同期信号を用いて動作のタイミングを調整する。
【０２３５】
また、この場合、取得部で取得されたFEC符号化データは、保持部２３３で保持された後、FEC復号部２３６に供給される。FEC復号部２３６は、必要に応じてFEC復号を行い、得られた符号化データをバッファ２７２に供給し、保持させる。
【０２３６】
供給部２３４および隠ぺい部２３５は、バッファ２７２に蓄積された符号化データを、所定の同期時刻に読み出し、エントロピ復号部１７１に供給する。このようにバッファ２７２を用いて、符号化データの出力タイミングが調整される（出力タイミングの同期が取られる）。
【０２３７】
FEC復号部２３６は、符号化データの回復が、その出力タイミングに間に合う場合、その回復された符号化データを、損失しなかった符号化データと同様に復号させる。
【０２３８】
また、その出力タイミングに間に合わないFEC復号結果は、伝搬対策部２３７により、ウェーブレット逆変換部１７３に供給され、第１の実施の形態と同様に、エラー伝搬対策の用途に利用される。
【０２３９】
制御部２３１は、損失判定部２４１および結果判定部２４３の代わりに、同期判定部２８１および読み出し処理部２８２を有する。同期判定部２８１は、FEC復号結果取得が、バッファ２７２からの符号化データ出力タイミング（所定の同期時刻）に間に合ったか否かを判定する。
【０２４０】
読み出し処理部２８２は、バッファ２７２に蓄積されている符号化データを、同期信号に応じた所定のタイミングで読み出し、エントロピ復号部１７１に供給する処理（同期再生）を行う。
【０２４１】
RTPパケットのタイムスタンプ値は、例えば、送信装置１０１において圧縮符号化データブロック毎に参照した非圧縮データブロックの入力時刻を反映した値が設定される。読み出し処理部２８２は、例えば、ストリームの最初のパケットをタイミング規定パケットとし、その到着時刻から、「初期バッファ遅延時間」遅れた時刻を最初のパケットに付加されたタイムスタンプ値に対するデコード再生予定時刻とし、以降のパケットに関しては付加されたタイムスタンプに同期した時刻をデコード再生予定時刻として処理を行う。
【０２４２】
「初期バッファ遅延時間」は、受信後デコード処理を行うまで行う処理にかかる処理遅延、最大処理遅延ジッタ値、および最大ネットワークジッタ値等を用いた、例えば、以下の式（９）のように求められる。
【０２４３】
初期バッファ遅延時間＝非圧縮データブロック入力間隔×buf_param
＋FEC復号処理時間＋ジッタ許容時間  ・・・（９）
【０２４４】
式（９）において、「非圧縮データブロック入力間隔」は、非圧縮データブロックが送信装置１０１においてビデオデータ（ビデオIN）より入力される間隔である。また、「buf_param」は、受信装置１０２がバッファする非圧縮データブロック数の想定数である。「FEC復号処理時間」は、FEC復号処理の処理時間を示す。「ジッタ許容時間」は、許容される遅延時間の変動幅を示す。
【０２４５】
なお、FEC復号部２３６は、損失がある場合のみ、FEC復号を行い、その損失したデータを回復するものとする。また、FEC復号に失敗した場合、伝搬対策部２３７は、ウェーブレット逆変換部１７３のウェーブレット係数を更新してもエラー伝搬を抑制することができないので、エラー伝搬対策処理を省略するようにしてもよい。
【０２４６】
［冗長復号処理の流れ］
この場合の冗長復号処理の流れの例を図２３のフローチャートを参照して説明する。
【０２４７】
図２３に示されるように、ステップＳ２０１において、取得部２３２がRTP受信部１３１からFEC符号化データを取得すると、ステップＳ２０２において、保持部２３３がそのFEC符号化データを保持する。
【０２４８】
ステップＳ２０３において、FECブロック判定部２４２が、FECブロック１つ分以上のFEC符号化データが保持部２３３に保持されたか否かを判定し、保持されたと判定した場合、処理をステップＳ２０４に進める。
【０２４９】
FEC符号化データがFECブロック分蓄積されると、FEC復号部２３６は、ステップＳ２０４において、そのFEC符号化データを読み出し、符号化データの損失がある場合、FEC復号する。
【０２５０】
ステップＳ２０５において、同期判定部２８１は、同期時刻（バッファ２７２からの符号化データ出力タイミング）前であるか否かを判定する。つまり、同期判定部２８１は、FEC復号処理がバッファ２７２からの出力タイミングに間に合ったか否かを判定する。同期時刻前であると判定したばあい、同期判定部２８１は、処理をステップＳ２０６に進める。
【０２５１】
同期時刻前にFEC復号結果が得られた場合、その符号化データは、そのブロックの復号処理に使用される。つまり、FEC復号により回復された符号化データも、損失が発生していない符号化データと同様に伸長復号される。ステップＳ２０６において、FEC復号部２３６は、FEC復号結果としての符号化データをバッファ２７２に格納する。ステップＳ２０６の処理が終了すると、FEC復号部２３６は、処理をステップＳ２０８に進める。
【０２５２】
また、ステップＳ２０５において、FEC復号処理が、同期時刻後である（間に合わなかった）と判定された場合、同期判定部２８１は、処理をステップＳ２０７に進める。FEC復号部２３６は、FEC復号結果としての符号化データを、伝搬対策部２３７に供給する。ステップＳ２０７において、伝搬対策部２３７は、図２１のフローチャートを参照して説明したようにエラー伝搬対策処理を行う。エラー伝搬対策処理が終了すると、伝搬対策部２３７は、処理をステップＳ２０８に進める。
【０２５３】
また、ステップＳ２０３において、保持部２３３に１FECブロック分のFEC符号化データが蓄積されていないと判定された場合、FECブロック判定部２４２は、処理をステップＳ２０８に進める。
【０２５４】
ステップＳ２０８において、制御部２３１の終了判定部２４４は、冗長復号処理を終了するか否かを判定し、終了しないと判定された場合、処理をステップＳ２０１に戻し、それ以降の処理を繰り返す。また、ステップＳ２０８において、冗長復号処理を終了すると判定された場合、終了判定部２４４は、冗長復号処理を終了する。
【０２５５】
［同期再生処理の流れ］
次に、図２４のフローチャートを参照して、同期再生処理の流れの例を説明する。制御部２３１の読み出し処理部２８２は、バッファ２７２に蓄積された符号化データを、同期部２７１が管理する同期信号を基準にして、所定のタイミングで読み出す。このように出力タイミングを制御することにより、動画像伸長復号部１３３は、伸長復号処理を所定の間隔で行うことができ、復号画像を所定の時間間隔で出力することができる。つまり、同期再生が可能になる。
【０２５６】
読み出し処理部２８２は、ステップＳ２２１において、同期信号に従った所定のタイミング（同期時刻）であるか否かを判定し、同期時刻であると判定した場合、ステップＳ２２２に処理を進める。
【０２５７】
ステップＳ２２２において、読み出し処理部２８２は、符号化データに損失が発生したか否かを判定する。バッファ２７２に蓄積されている符号化データに損失が発生している（FEC復号部２３６において回復していない）と判定された場合、読み出し処理部２８２は、処理をステップＳ２２３に進める。
【０２５８】
ステップＳ２２３において、隠ぺい部２３５は、バッファ２７２に蓄積されている符号化データを破棄し、その符号化データの代わりのダミーデータを生成し、エントロピ復号部１７１に供給する。ダミーデータを供給すると、隠ぺい部２３５は、処理をステップＳ２２５に進める。
【０２５９】
また、ステップＳ２２２において、符号化データに損失が発生していないと判定された場合、読み出し処理部２８２は、処理をステップＳ２２４に進める。ステップＳ２２４において、供給部２３４は、バッファ２７２に蓄積されている符号化データを読み出し、エントロピ復号部１７１に供給する。符号化データを供給すると、供給部２３４は、処理をステップＳ２２５に進める。
【０２６０】
さらに、ステップＳ２２１において、同期時刻で無いと判定された場合、読み出し処理部２８２は、処理をステップＳ２２５に進める。
【０２６１】
ステップＳ２２５において、読み出し処理部２８２は、同期再生処理を終了するか否かを判定し、終了しないと判定された場合、処理をステップＳ２２１に戻し、それ以降の処理を繰り返す。また、ステップＳ２２５において、同期再生処理を終了すると判定された場合、読み出し処理部２８２は、同期再生処理を終了する。
【０２６２】
以上のように冗長復号処理や同期再生処理を行うことにより、冗長復号部１３２は、第１の実施の形態の場合と同様にエラー伝搬を抑制することができるとともに、FEC復号処理が同期再生に間に合う場合、回復された符号化データをそのブロックの伸長復号処理に使用し、そのブロックのエラーを回復させることができる。
【０２６３】
＜３．第３の実施の形態＞
［システム全体の処理の説明］
また、第１の実施の形態において説明したようなエラー伝搬の抑制のためのFEC符号化と、第２の実施の形態において説明したような回復用のFEC符号化の両方を符号化データに対して行うようにしてもよい。
【０２６４】
この場合、ネットワークシステム１００においては、図２５に示されるように、処理が行われる。
【０２６５】
つまり、動画像圧縮符号化部１２１は、圧縮符号化処理を行い（矢印３０１）、例えば「非圧縮データブロック」１つずつに対応する圧縮符号化データブロックを生成する。冗長符号化部１２２は、その圧縮符号化データブロック１つずつを「回復用FECブロック元データ」とし、非圧縮データブロック」３つ毎に対応する圧縮符号化データブロック群を「エラー伝搬対策用FECブロック元データ」とする（矢印３０２）。
【０２６６】
冗長パケット数は、任意であるが、例えば「回復用FECブロック」に対して２個とし、「エラー伝搬対策用FECブロック」に対して３個とする。以下において、圧縮符号化データブロックｎに対応する回復用FECブロック元データ単位を「回復用FECブロック元データL(*, n)」と表し、圧縮符号化データブロックn~n+2に対応するエラー伝搬対策用FECブロック元データ単位を「エラー伝搬対策用FECブロック元データL(*, n~n+2)」と表す。
【０２６７】
なお、ここでは、「回復用FECブロック元データ単位」が「非圧縮データブロック」１個分であるものとし、「初期バッファ遅延時間」を決定するパラメータbuf_paramを１と設定する。これにより、ジッタやパケット損失が発生しなかった場合、「回復用FECブロック」内パケットの同期デコード再生時刻までのFEC復号化処理が可能となる。
【０２６８】
冗長符号化部１２２は、回復用FECブロックとエラー伝搬対策用FECブロックのそれぞれについて、FEC符号化処理を行い、冗長データを生成する（矢印３０３）。生成されたFEC符号化データは、ネットワーク１１０を介して受信装置１０２に伝送される（矢印３０４）。
【０２６９】
このとき、回復用FECブロックL(*, 1)に１個のパケット損失が発生し、回復用FECブロックL(*, 2)に３個のパケット損失が発生したものとする。
【０２７０】
冗長復号部１３２においては、回復用のFEC復号処理とエラー伝搬対策用のFEC復号処理の両方が行われる（矢印３０５）。この場合、同期デコード再生時刻前に回復用FECブロックL(*, 1)内のパケット損失は、回復用FECブロックL(*, 1)にて回復される。したがって、この圧縮符号化データは、「デコード用データ」として動画像伸長復号部１３３に供給される（矢印３０６）。
【０２７１】
ただし、回復用FECブロックL(*, 2)内の損失パケット数は回復用FECブロック内の冗長パケット数を超えるため回復用FECブロックでは回復することができず、同期デコード再生時刻前に回復されない。しかしながら、エラー伝搬対策用FECブロックL(*, 1~3)復号化処理により、回復される。したがってこの圧縮符号化データは、「エラー伝搬対策用データ」として動画像伸長復号部１３３に供給され、エラー伝搬対策用に使用される。
【０２７２】
なお、エラー伝搬対策用FECブロックL(*, 1~3)内の損失パケット数は４個でエラー伝搬対策用FECブロック内の冗長パケット数を超えるが、１個のパケット損失は回復用FECブロックL(*, 1)にて回復されるため，３個の冗長パケットにて回復することができる。
【０２７３】
動画像伸長復号部１３３は、このように供給される圧縮符号化データを伸長復号し、出力ピクチャ（非圧縮データブロック）を生成する（矢印３０７）。
【０２７４】
［冗長符号化部の構成］
この場合の冗長符号化部１２２の主な構成例を示すブロック図を図２６に示す。この場合も基本的には、図１６の例の場合と同様であるが、回復用とエラー伝搬対策用の２つの構成を有している。つまり、冗長符号化部１２２は、回復用FECブロック化部３２１および回復用FEC符号化部３２２、並びに、エラー伝搬対策用FECブロック化部３２３およびエラー伝搬対策用FEC符号化部３２４を有する。
【０２７５】
回復用FECブロック化部３２１およびエラー伝搬対策用FECブロック化部３２３は、処理対象FECブロックが異なるだけで、基本的にFECブロック化部２２１と同様の処理を行う。回復用FEC符号化部３２２およびエラー伝搬対策用FEC符号化部３２４は、処理対象FECブロックが異なるだけで、基本的にFEC符号化部２２２と同様の処理を行う。
【０２７６】
「FEC処理」では、例えば、処理対象の圧縮符号化データを複数のRTPパケットに分割し、パケタイズ化したRTPパケットを単位として、FEC冗長符号化を行う。FEC冗長符号化には、例えば、Reed-Solomon符号等の消失誤り訂正符号が用いられる。
【０２７７】
まず、これらの処理部に対して、FEC処理の処理単位（冗長符号単位）であるFECブロックについて（元データパケット数，冗長パケット数）の組が決定される。例えば、（元データパケット数，冗長パケット数）＝（１０，５）と指定された場合、FEC処理により元データパケット１０個に対して冗長パケットが５個を生成される。つまり、送信装置１０１において、このFECブロックについて合計１５個のパケットが送信される。受信装置１０２は、このFECブロックのパケット中１０個のパケットを受信すれば、FEC復号処理により元データを回復することができる。
【０２７８】
なお、回復用FECブロック化部３２１が生成する回復用FECブロックの元データのデータサイズは、エラー伝搬対策用FECブロック化部３２３が生成するエラー伝搬対策用FECブロックの元データサイズより小さい。
【０２７９】
FECブロック元データ単位を大きく設定すれば、一般にバーストパケット損失耐性は高くなるが「初期バッファ遅延時間」にFECブロック内パケット受信時間を含めるように設定した場合、高遅延となってしまう。このため、なんらかのジッタやパケット損失が発生しない場合、同期デコード再生時刻までに「回復用FECブロック」内の全てのパケットの受信が保証されるようにするとともに、「エラー伝搬対策用FECブロック」内の全てのパケットの受信が保証されないように「初期バッファ遅延時間」が設定される。
【０２８０】
回復された符号化データは、損失パケットの回復時刻が同期デコード再生時刻より前である場合、同期デコード再生に用いられ、損失パケットの回復時刻が同期デコード再生時刻後である場合、圧縮符号デコードにおける後続デコードデータに対するエラー伝搬対策用に使用される。これにより、FECブロック元データ単位拡大による遅延増加を抑制しながら、バーストパケット損失時のエラー伝搬を抑制することができる。
【０２８１】
また、冗長符号化部１２２は、１FECブロックに対応する元データのデータサイズを決定するブロック元データ単位決定部３３１と、１FECブロックの冗長度（冗長パケット数）を決定する冗長度決定部３３２を有する。
【０２８２】
ブロック元データ単位決定部３３１は、回復用FECブロック元データ単位決定部３４１およびエラー伝搬対策用FECブロック元データ単位決定部３４２を有する。つまり、回復用FECブロックとエラー伝搬対策用FECブロックの両方について、元データのデータサイズが決定される。FECブロック元データ単位決定処理の詳細については後述する。
【０２８３】
また、冗長度決定部３３２は、回復用FECブロック冗長度決定部３４３およびエラー伝搬対策用FECブロック冗長度決定部３４４を有する。つまり、回復用FECブロックとエラー伝搬対策用FECブロックの両方について、冗長度が決定される。冗長度決定処理の詳細については後述する。
【０２８４】
ブロック元データ単位決定部３３１および冗長度決定部３３２により、１FECブロックの元データのデータサイズと冗長度が、（元データパケット数，冗長パケット数）という形で指定される。
【０２８５】
冗長符号化部１２２は、合成部３２５をさらに有する。合成部３２５は、回復用FEC符号化部３２２において生成された回復用FEC符号化データと、エラー伝搬対策用FEC符号化部３２４において生成されたエラー伝搬対策用FEC符号化データとを合成し、出力する。なお、合成部３２５は、例えば、合成する回復用FEC符号化データとエラー伝搬対策用FEC符号化データとで互いに重複する部分が存在する場合、その一方のデータを省略するなど、適宜、最適化しながら合成を行う。
【０２８６】
［冗長復号部の構成］
図２７は、この場合の冗長復号部１３２の構成例を示すブロック図である。図２７に示されるように、この場合の冗長復号部１３２は、基本的に図２２を参照して説明した場合と同様の構成を有するが、FEC復号部２３６の代わりに、回復用FEC復号部３６１およびエラー伝搬対策用FEC復号部３６２を有する。
【０２８７】
回復用FEC復号部３６１は、回復用FECブロックのFEC復号処理を行う。エラー伝搬対策用FEC復号部３６２は、エラー伝搬対策用FECブロックのFEC復号処理を行う。つまり、回復用FEC復号部３６１およびエラー伝搬対策用FEC復号部３６２は、処理対象FECブロックが異なるだけで、基本的にFEC復号部２３６と同様にFEC復号処理を行う。
【０２８８】
また、制御部２３１は、FECブロック判定部２４２の代わりに、回復用FECブロック判定部３７１およびエラー伝搬対策用FECブロック判定部３７２を有する。回復用FECブロック判定部３７１は、保持部２３３に、回復用FECブロック１つ分のFEC符号化データが蓄積されたか否かを判定する。エラー伝搬対策用FECブロック判定部３７２は、保持部２３３に、エラー伝搬対策用FECブロック１つ分のFEC符号化データが蓄積されたか否かを判定する。
【０２８９】
［冗長符号化処理の流れ］
次に、この場合の冗長符号化処理の流れの例を図２８のフローチャートを参照して説明する。
【０２９０】
冗長符号化処理が開始されると、ステップＳ３０１において、回復用FECブロック元データ単位決定部３４１は、回復用FECブロック元データ単位を決定する。
【０２９１】
回復用FECブロック元データ単位決定部３４１は、例えばユーザ等に与えられる目標遅延時間（許容されるネットワークシステム１００全体の処理の遅延時間）を用いて以下の式（１０）を満たすように「初期バッファ遅延時間」を設定する。
【０２９２】
目標遅延時間＝送信装置遅延時間＋想定伝送最大遅延時間＋初期バッファ遅延時間
＋再生処理遅延時間  ・・・（１０）
【０２９３】
式（１０）において、「送信装置遅延時間」は、送信装置１０１において実行される各処理による遅延時間を示す。「想定伝送最大遅延時間」は、送信装置１０１と受信装置１０２との間のパケット伝送による遅延時間の想定される最大値を示す。「初期バッファ遅延時間」は、上述した式（９）により与えられる。「再生処理遅延時間」は、受信装置１０２において行われる再生処理（復号処理等を含む）による遅延時間を示す。
【０２９４】
また、「回復用FECブロック元データ単位」は、例えば、このときの「buf_param」と同数の非圧縮データブロックと対応する圧縮符号化データブロックを単位とする。図２５の例の場合、「回復用FECブロック元データ単位」は、圧縮符号化データブロック１個毎に設定されている。
【０２９５】
ステップＳ３０２において、エラー伝搬対策用FECブロック元データ単位決定部３４２は、エラー伝搬対策用FECブロック元データ単位を決定する。
【０２９６】
「エラー伝搬対策用FECブロック元データ単位」は、例えば、階層１のある圧縮符号化データの影響範囲に含まれる非圧縮データブロックの入力時に生成した圧縮符号化データ範囲より小さく、「回復用FECブロック元データ単位」より大きい範囲に設定される。
【０２９７】
つまり、「エラー伝搬対策用FECブロック元データ単位」は、当該ブロックの復号途中に生成される中間データと、復号に使用する０個以上の後続のブロックとを合わせたブロック以下となるように設定することができる。
【０２９８】
「エラー伝搬対策用FECブロック元データ単位」をこれより大きく設定するとFEC復号処理による回復時に回復パケットの影響範囲の非圧縮データブロックのデコード再生が終了しており、効果が薄い可能性がある。図２５の例の場合、「回復用FECブロック元データ単位」は、圧縮符号化データブロック１個毎に設定されている。また、圧縮符号化データL(1,1)の影響範囲は非圧縮データブロック５個分であるため、「エラー伝搬対策用FECブロック元データ単位」は、それより小さい圧縮符号化データブロック３個毎に設定される。
【０２９９】
なお、回復用FECブロック元データ単位とエラー伝搬対策用FECブロック元データ単位は、互いに独立して設定することができる。したがって、上述したように、エラー伝搬対策用FECブロック元データ単位を、回復用FECブロック元データ単位の整数倍としても良いが、整数倍とならないようにしてもよい。例えば、ある回復用FECブロック元データが複数のエラー伝搬対策用FECブロック元データにまたがることがあるようにしてもよい。
【０３００】
また、符号化データの復号処理において、所定のサイズもしくは所定の再生時間に相当するサイズの符号化データがバッファに格納されてから復号される場合、「回復用FECブロック元データ単位」の大きさが、そのバッファサイズ以下に設定され、「エラー伝搬対策用FECブロック元データ単位」の大きさをそのバッファサイズ以上に設定されるようにしてもよい。
【０３０１】
ステップＳ３０３において、回復用FECブロック冗長度決定部３４３は、回復用FECブロックの冗長度を決定する。ステップＳ３０４において、エラー伝搬対策用FECブロック冗長度決定部３４４は、エラー伝搬対策用FECブロックの冗長度を決定する。
【０３０２】
回復用FEC用ブロックおよびエラー伝搬対策用FECブロックに対する冗長度は、例えば、損失回復性能指標を満たすように決定される。例えば、想定されるパケット損失率をpとし、FECブロック内のパケット数をnとし、元データパケット数をｋとし、冗長パケット数をn-kとする。この場合において、目標FECブロック損失率をPtとすると、目標FECブロック損失率Ptは、以下の式（１１）のように算出される。
【０３０３】
【数１】
0005397700.tif 000002
【０３０４】
元データパケット数kは、ステップＳ３０１若しくはステップＳ３０２のFECブロック元データ単位決定処理により上述したように決定される。したがって、回復用FECブロック冗長度決定部３４３およびエラー伝搬対策用FECブロック冗長度決定部３４４は、それぞれ、この式（１１）を用いて、それぞれのFECブロックの冗長パケット数（冗長度）n-kを決定する。
【０３０５】
FECブロック元データ単位および冗長度が決定されると、冗長符号化部１２２は、ステップＳ３０５において、符号化データを取得する。ステップＳ３０６において、回復用FECブロック化部３２１は、符号化データを回復用FECブロック１個分取得したか否かを判定する。このときの回復用FECブロック元データ単位は、ステップＳ３０１における決定に従う。
【０３０６】
回復用FECブロック１個分の符号化データを取得したと判定した場合、回復用FECブロック化部３２１は、ステップＳ３０７に処理を進め、その回復用FECブロック１個分の符号化データを用いて回復用FECブロック（元データ）を生成する。
【０３０７】
ステップＳ３０８において、回復用FEC符号化部３２２は、生成された回復用FECブロックについてFEC符号化を行い、冗長データを生成する。つまり、回復用FEC符号化部３２２は、回復用FECブロックのFEC符号化データである回復用FEC符号化データを生成する。このときの冗長度は、ステップＳ３０３における決定に従う。
【０３０８】
ステップＳ３０９において、合成部３２５は、生成された回復用FEC符号化データをRTP送信部１２３に転送し、送信させる。回復用FEC符号化データを転送すると合成部３２５は、処理をステップＳ３１０に進める。また、ステップＳ３０６において、符号化データを回復用FECブロック１個分取得していないと判定された場合、回復用FECブロック化部３２１は、処理をステップＳ３１０に進める。
【０３０９】
ステップＳ３１０乃至ステップＳ３１３において、エラー伝搬対策用FECブロック化部３２３、エラー伝搬対策用FEC符号化部３２４、および合成部３２５の各処理部は、ステップＳ３０６乃至ステップＳ３０９における、回復用FECブロックに対する処理と同様の処理を、エラー伝搬対策用FECブロックに対して行う。
【０３１０】
ただし、合成部３２５は、ステップＳ３１３において、エラー伝搬対策用FEC符号化データの、回復用FEC符号化データと重複する部分については、RTP送信部１２３への伝送を省略する。つまり、合成部３２５は、例えば、エラー伝搬対策用FECブロックの冗長データのみをRTP送信部１２３へ伝送する。
【０３１１】
ステップＳ３１４において、冗長符号化部１２２は、冗長符号化処理を終了するか否かを判定し、終了しないと判定された場合、処理をステップＳ３０５に戻し、それ以降の処理を繰り返す。また、ステップＳ３１４において、冗長符号化処理を終了すると判定された場合、冗長符号化部１２２は、冗長符号化処理を終了する。
【０３１２】
このようにすることにより、送信装置１０１は、回復用とエラー伝搬用の両方についてFEC符号化を行い、冗長データを生成することができる。これにより、受信装置１０２は、FEC処理の回復性能を向上させながら、エラー伝搬を抑制することができる。
【０３１３】
［冗長復号処理の流れ］
次に、この場合の、冗長復号部１３２により実行される冗長復号処理の流れの例を図２９のフローチャートを参照して説明する。
【０３１４】
この場合も、冗長復号処理の流れは、基本的に図２３のフローチャートを参照して説明した場合と同様であるが、回復用FECブロックとエラー伝搬対策用FECブロックのそれぞれに対してFEC復号処理を行う点が異なる。
【０３１５】
つまり、ステップＳ３３１において、取得部２３２がRTP受信部１３１からFEC符号化データを取得すると、ステップＳ３３２において、保持部２３３がそのFEC符号化データを保持する。
【０３１６】
ステップＳ３３３乃至ステップＳ３３５は、回復用FECブロックに対する処理である。ステップＳ３３３において、回復用FECブロック判定部３７１は、回復用FECブロック１つ分以上のFEC符号化データが保持部２３３に保持されたか否かを判定し、保持されたと判定した場合、処理をステップＳ３３４に進める。
【０３１７】
FEC符号化データが回復用FECブロック１個分蓄積されると、回復用FEC復号部３６１は、ステップＳ３３４において、そのFEC符号化データを読み出し、符号化データの損失がある場合、FEC復号する。ステップＳ３３５において、回復用FEC復号部３６１は、FEC復号結果としての符号化データをバッファ２７２に格納し、処理をステップＳ３３６に進める。
【０３１８】
また、ステップＳ３３３において回復用FECブロック１個分が取得されていないと判定された場合、回復用FECブロック判定部３７１は、処理をステップＳ３３６に進める。
【０３１９】
ステップＳ３３６乃至ステップＳ３４０は、エラー伝搬対策用FECブロックに対する処理である。エラー伝搬対策用FEC復号部３６２、伝搬対策部２３７、およびエラー伝搬対策用FECブロック判定部３７２は、このエラー伝搬対策用FECブロックに対して、図２３のステップＳ２０３乃至２０７の各処理と同様に、ステップＳ３３６乃至ステップＳ３４０の各処理を実行する。
【０３２０】
つまり、同期時刻前にFEC復号結果が得られた場合、そのエラー伝搬対策用FECブロックの符号化データは、復号処理対象として、バッファ２７２に蓄積され、同期時刻後にFEC復号結果が得られた場合、そのエラー伝搬対策用FECブロックの符号化データは、次以降のブロックへのエラー伝搬を抑制するために、参照用データとして、ウェーブレット逆変換部１７３に供給される。
【０３２１】
ステップＳ３４１において、制御部２３１の終了判定部２４４は、冗長復号処理を終了するか否かを判定し、終了しないと判定された場合、処理をステップＳ３３１に戻し、それ以降の処理を繰り返す。また、ステップＳ３４１において、冗長復号処理を終了すると判定された場合、終了判定部２４４は、冗長復号処理を終了する。
【０３２２】
このようにすることにより、受信装置１０２は、FEC処理の回復性能を向上させながら、エラー伝搬を抑制することができる。
【０３２３】
［FEC復号処理タイミング］
図３０は、このようなデータ伝送の各処理のタイミングの例を説明する図である。
【０３２４】
図３０に示されるように、例えば、回復用FECブロックL(*,1)乃至回復用FECブロックL(*,3)に対するFEC復号処理がそれぞれ行われた後、エラー伝搬対策用FECブロックL(*,1~3)に対するFEC復号処理が行われるとする。
【０３２５】
この場合、回復用FECブロックL(*,2)において、冗長パケット数不足により損失パケットの回復に失敗しても、エラー伝搬対策用FECブロックL(*,1~3)において再度、その損失パケットの回復が行われる。
【０３２６】
しかしながら、エラー伝搬対策用FECブロックにおけるFEC復号処理によるL(*,2)のパケットの回復がL(*,2)の伸長復号処理に間に合わない場合、その符号化データは、次以降のブロックの伸長復号処理において使用されるエラー伝搬対策用データとして、ウェーブレット逆変換部１７３に供給される。
【０３２７】
また、図３０に示されるように、例えば、回復用FECブロックL(*,4)乃至回復用FECブロックL(*,6)に対するFEC復号処理がそれぞれ行われた後、エラー伝搬対策用FECブロックL(*,4~6)に対するFEC復号処理が行われるとする。
【０３２８】
この場合、回復用FECブロックL(*,6)において、冗長パケット数不足により損失パケットの回復に失敗しても、エラー伝搬対策用FECブロックL(*,4~6)において再度、その損失パケットの回復が行われる。
【０３２９】
このとき、エラー伝搬対策用FECブロックにおけるFEC復号処理によるL(*,6)のパケットの回復がL(*,6)の伸長復号処理に間に合うとすると、その符号化データは、そのブロックの伸長復号対象データとして、エントロピ復号部１７１に供給される。
【０３３０】
このように、ネットワークシステム１００は、不要な遅延の増大を抑制しながら、後続データへのエラー伝搬を抑制するように、データを伝送させることができる。
【０３３１】
［冗長データ］
なお、送信装置１０１が、圧縮符号化処理に階層符号化処理を用い、階層ごとに別々のFECブロックを形成し、階層毎の重要度に応じて、冗長度を調整するようにしてもよい。
【０３３２】
また、冗長度の決定方式は任意であり、上述した式（１１）を用いる方法以外であってもよい。例えば、「回復用FECブロック元データ」の「エラー伝搬対策用FECブロック元データ」に対する位置に応じて冗長パケット数が調整されるようにしてもよい。
【０３３３】
図３１は、FECブロックの構成例を示す図である。図３１に示される例の場合、「エラー伝搬対策用FECブロック」の末尾に位置する「回復用FECブロック」に対する冗長パケット数が０個に設定され、その他は３個に設定されている。
【０３３４】
これは、「エラー伝搬対策用FECブロック」の末尾に位置する回復用FECブロックL(*, 3)を含む圧縮符号化データL(*, 3)のデコード処理前にエラー伝搬対策用FECブロックL(*, 1~3)のFEC復号処理を行う事が出来るため、圧縮符号化データL(*, 3)は、L(*, 1)やL(*, 2)と同等のパケット損失回復性能を得ることができるためである。
【０３３５】
＜４．第４の実施の形態＞
［ネットワークシステムの構成］
図３２は、本発明を適用したネットワークシステムの構成例を示すブロック図である。
【０３３６】
図３２に示されるネットワークシステム５００は、図１に示されるネットワークシステム１００と基本的に同様の構成を有し、同様の処理を行う。ただし、ネットワークシステム５００の場合、送信装置５０１および受信装置５０２は、さらに、送受信装置間でネットワーク状況情報の交換を行うためのRTCP通信部を有する。
【０３３７】
つまり、受信装置１０２に対応する受信装置５０２は、受信装置１０２の構成に加え、RTCP通信部５１１を有する。また、送信装置１０１に対応する送信装置５０１は、送信装置１０１の構成に加え、RTCP通信部５１２を有する。
【０３３８】
RTCP通信部５１１およびRTCP通信部５１２は、ネットワーク１１０の通信に関する状況を示す情報であるネットワーク状況情報を、例えば、IETF RFC 3550記載のRTCP Sender Report(SR)パケットやRTCP Receiver Report(RR)パケットを送受信することにより交換する。ネットワーク状況情報は、任意のパラメータに関する情報により構成される。例えば、往復伝送遅延、いわゆるRTT(Round Trip Time)、伝送ジッタ、送受信データレート、およびパケット損失率等のパラメータに関する情報が含まれるようにしてもよい。
【０３３９】
また、ネットワーク状況情報には、例えば、所定数以上の連続パケットの損失の発生率、若しくは、所定区間中のパケット損失数が所定数以上である頻度を示すバーストパケット損失率の想定値が含まれるようにしてもよい。
【０３４０】
例えば、RTCP通信部５１１は、RTP受信部１３１より、受信状況に関する情報を取得すると、その情報を、ネットワーク１１０を介してRTCP通信部５１２に送信する。
【０３４１】
冗長符号化部１２２は、RTCP通信部５１２において取得されたネットワーク状況情報を参考にして処理を行う。
【０３４２】
［冗長符号化部の構成］
図３３にこの場合の冗長符号化部１２２の主な構成例を示す。図３３に示されるように、この場合も、冗長符号化部１２２は、基本的に図２６を参照して説明した場合と同様の構成を有する。ただし、この場合、ブロック元データ単位決定部３３１は、RTCP通信部５１２からネットワーク状況情報を取得し、その情報に基づいてブロック元データ単位を決定する。
【０３４３】
また、冗長度決定部３３２も、RTCP通信部５１２からネットワーク状況情報を取得し、その情報に基づいて冗長度を決定する。
【０３４４】
［FECブロック元データ単位決定処理の流れ］
次に、このブロック元データ単位決定部３３１により実行されるFECブロック元データ単位決定処理の流れの例を、図３４のフローチャートを参照して説明する。
【０３４５】
ブロック元データ単位決定部３３１は、ステップＳ４０１において、RTCP通信部５１２からネットワーク状況情報を取得する。ステップＳ４０２において、回復用FECブロック元データ単位決定部３４１は、ネットワーク状況情報の各種統計値を用いて、回復用FECブロック元データ単位を算出する。
【０３４６】
例えば、RTCP通信部５１２により測定されたネットワークの往復伝搬遅延時間（計測RTT）や計測ネットワークジッタ値等が参照され、これらの一定時間の最大値、若しくは指数加重移動平均（EWMA）値等の統計値が、ブロック元データ単位の算出に利用される。
【０３４７】
例えば、想定伝送最大遅延時間やジッタ許容時間は、以下の式（１２）と式（１３）のように算出される。
【０３４８】
想定伝送最大遅延時間＝計測RTTの統計値／２  ・・・（１２）
ジッタ許容時間＝計測ネットワークジッタ値の統計値  ・・・（１３）
【０３４９】
回復用FECブロック元データ単位は、これらの値を用いて、上述した式（９）や式（１０）により算出される。
【０３５０】
回復用FECブロック元データ単位が算出されると、回復用FECブロック元データ単位決定部３４１は、ステップＳ４０３において、回復用FECブロック元データ単位設定を更新する。
【０３５１】
ステップＳ４０４において、エラー伝搬対策用FECブロック元データ単位決定部３４２は、回復用FECブロックの場合と同様に、ネットワーク状況情報の各種統計値を用いて、エラー伝搬対策用FECブロック元データ単位を算出する。
【０３５２】
エラー伝搬対策用FECブロック元データ単位が算出されると、ステップＳ４０５において、エラー伝搬対策用FECブロック元データ単位決定部３４２は、回復用FECブロックの場合と同様に、エラー伝搬対策用FECブロック元データ単位設定を更新する。
【０３５３】
ステップＳ４０６において、ブロック元データ単位決定部３３１は、FECブロック元データ単位決定処理を終了するか否かを判定し、終了しないと判定された場合、処理をステップＳ４０１に戻し、それ以降の処理を繰り返す。また、ステップＳ４０６においてFECブロック元データ単位決定処理を終了すると判定された場合、ブロック元データ単位決定部３３１は、FECブロック元データ単位決定処理を終了する。
【０３５４】
なお、例えば、バーストパケット損失率が一定値以上となった場合、FECブロック元データ単位を大きく修正するようにしてもよい。
【０３５５】
以上のようにFECブロック元データ単位を決定することにより、冗長符号化部１２２は、FECブロック元データ単位を、ネットワーク１１０の現在の通信状況に応じて適切に動的に設定することができる。
【０３５６】
［FECブロック冗長度決定処理の流れ］
次に、図３５のフローチャートを参照して、この場合のFECブロック冗長度決定処理の流れの例を説明する。
【０３５７】
冗長度決定部３３２は、ステップＳ４２１において、RTCP通信部５１２からネットワーク状況情報を取得する。ステップＳ４２２において、回復用FECブロック冗長度決定部３４３は、ネットワーク状況情報の各種統計値を用いて、回復用FECブロック冗長度を算出する。
【０３５８】
例えば、RTCP通信部５１２により測定されたネットワークのパケット損失率等が参照される。冗長度は、上述した式（１１）により算出されるが、パケット損失率pは、上述したような想定される値ではなく、測定値とする。つまり、この場合のパケット損失率ｐは、ネットワーク状況に応じて動的に調整される。
【０３５９】
回復用FECブロック冗長度が算出されると、回復用FECブロック冗長度決定部３４３は、ステップＳ４２３において、回復用FECブロック冗長度設定を更新する。
【０３６０】
ステップＳ４２４において、エラー伝搬対策用FECブロック冗長度決定部３４４は、回復用FECブロックの場合と同様に、ネットワーク状況情報の各種統計値を用いて、エラー伝搬対策用FECブロック冗長度を算出する。
【０３６１】
エラー伝搬対策用FECブロック冗長度が算出されると、ステップＳ４２５において、エラー伝搬対策用FECブロック冗長度決定部３４４は、回復用FECブロックの場合と同様に、エラー伝搬対策用FECブロック冗長度設定を更新する。
【０３６２】
ステップＳ４２６において、冗長度決定部３３２は、FECブロック冗長度決定処理を終了するか否かを判定し、終了しないと判定された場合、処理をステップＳ４２１に戻し、それ以降の処理を繰り返す。また、ステップＳ４２６においてFECブロック冗長度決定処理を終了すると判定された場合、冗長度決定部３３２は、FECブロック冗長度決定処理を終了する。
【０３６３】
なお、例えば、バーストパケット損失率が一定値以上となった場合、冗長度を大きく修正するようにしてもよい。
【０３６４】
以上のように冗長度を決定することにより、冗長符号化部１２２は、ネットワーク１１０の現在の通信状況に応じて適切に動的に冗長度を設定することができる。つまり、送信装置１０１は、ネットワーク１１０の現在の通信状況において、必要最小限の冗長度でのデータ伝送を行うことができる。
【０３６５】
もちろん、ネットワーク状況情報に基づいてFECブロック元データ単位と冗長度の両方が設定されるようにしてもよい。
【０３６６】
以上のようにFEC処理を行うことにより、ネットワークシステム１００およびネットワークシステム５００は、マルチメディアストリーミングやリアルタイムコミュニケーションを行う場合において、不要な遅延の増加を抑制しながら、バーストパケット損失の回復、若しくは、後続データへのエラー伝搬を抑制することができる冗長符号化伝送を実現することができる。
【０３６７】
＜５．第５の実施の形態＞
［パーソナルコンピュータ］
上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。この場合、例えば、図３６に示されるようなパーソナルコンピュータとして構成されるようにしてもよい。
【０３６８】
図３６において、パーソナルコンピュータ６００のCPU６０１は、ROM（Read Only Memory）６０２に記憶されているプログラム、または記憶部６１３からRAM（Random Access Memory）６０３にロードされたプログラムに従って各種の処理を実行する。RAM６０３にはまた、CPU６０１が各種の処理を実行する上において必要なデータなども適宜記憶される。
【０３６９】
CPU６０１、ROM６０２、およびRAM６０３は、バス６０４を介して相互に接続されている。このバス６０４にはまた、入出力インタフェース６１０も接続されている。
【０３７０】
入出力インタフェース６１０には、キーボード、マウスなどよりなる入力部６１１、CRT（Cathode Ray Tube）やLCD（Liquid Crystal Display）などよりなるディスプレイ、並びにスピーカなどよりなる出力部６１２、ハードディスクなどより構成される記憶部６１３、モデムなどより構成される通信部６１４が接続されている。通信部６１４は、インターネットを含むネットワークを介しての通信処理を行う。
【０３７１】
入出力インタフェース６１０にはまた、必要に応じてドライブ６１５が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア６２１が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部６１３にインストールされる。
【０３７２】
上述した一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、ネットワークや記録媒体からインストールされる。
【０３７３】
この記録媒体は、例えば、図３６に示されるように、装置本体とは別に、ユーザにプログラムを配信するために配布される、プログラムが記録されている磁気ディスク（フレキシブルディスクを含む）、光ディスク（CD-ROM（Compact Disc - Read Only Memory）,DVD（Digital Versatile Disc）を含む）、光磁気ディスク（MD（Mini Disc）を含む）、もしくは半導体メモリなどよりなるリムーバブルメディア６２１により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに配信される、プログラムが記録されているROM６０２や、記憶部６１３に含まれるハードディスクなどで構成される。
【０３７４】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
【０３７５】
また、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０３７６】
また、本明細書において、システムとは、複数のデバイス（装置）により構成される装置全体を表すものである。
【０３７７】
また、以上において、１つの装置（または処理部）として説明した構成を分割し、複数の装置（または処理部）として構成するようにしてもよい。逆に、以上において複数の装置（または処理部）として説明した構成をまとめて１つの装置（または処理部）として構成されるようにしてもよい。また、各装置（または各処理部）の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置（または処理部）の構成の一部を他の装置（または他の処理部）の構成に含めるようにしてもよい。つまり、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【符号の説明】
【０３７８】
１００  ネットワークシステム，  １０１  送信装置，  １０２  受信装置，  １２１  動画像圧縮符号化部，  １２２  冗長符号化部，  １２３  RTP送信部，  １３１  RTP受信部，  １３２  冗長復号部，  １３３  動画像伸長復号部，  ２３６  FEC復号部，  ２３７  伝搬対策部，  ２７１  同期部，  ２７２  バッファ，  ２８１  同期判定部，  ３２１  回復用FECブロック化部，  ３２２  回復用FEC符号化部，  ３２３  エラー伝搬対策用FECブロック化部，  ３２４  エラー伝搬対策用FEC符号化部，  ３２５  合成部，  ３３１  ブロック元データ単位決定部，  ３３２  冗長度決定部，  ３４１  回復用FECブロック元データ単位決定部，  ３４２  エラー伝搬対策用FECブロック元データ単位決定部，  ３４３  回復用FECブロック冗長度決定部，  ３４４  エラー伝搬対策用FECブロック冗長度決定部，  ３６１  回復用FEC復号部，  ３６２  エラー伝搬対策用FEC復号部，  ３７１  回復用FECブロック判定部，  ３７２  エラー伝搬対策用FECブロック判定部
【図１】
0005397700.tif 000003
【図２】
0005397700.tif 000004
【図３】
0005397700.tif 000005
【図４】
0005397700.tif 000006
【図５】
0005397700.tif 000007
【図６】
0005397700.tif 000008
【図７】
0005397700.tif 000009
【図８】
0005397700.tif 000010
【図９】
0005397700.tif 000011
【図１０】
0005397700.tif 000012
【図１１】
0005397700.tif 000013
【図１２】
0005397700.tif 000014
【図１３】
0005397700.tif 000015
【図１４】
0005397700.tif 000016
【図１５】
0005397700.tif 000017
【図１６】
0005397700.tif 000018
【図１７】
0005397700.tif 000019
【図１８】
0005397700.tif 000020
【図１９】
0005397700.tif 000021
【図２０】
0005397700.tif 000022
【図２１】
0005397700.tif 000023
【図２２】
0005397700.tif 000024
【図２３】
0005397700.tif 000025
【図２４】
0005397700.tif 000026
【図２５】
0005397700.tif 000027
【図２６】
0005397700.tif 000028
【図２７】
0005397700.tif 000029
【図２８】
0005397700.tif 000030
【図２９】
0005397700.tif 000031
【図３０】
0005397700.tif 000032
【図３１】
0005397700.tif 000033
【図３２】
0005397700.tif 000034
【図３３】
0005397700.tif 000035
【図３４】
0005397700.tif 000036
【図３５】
0005397700.tif 000037
【図３６】
0005397700.tif 000038