(57)【要約】【課題】  映像データの通信エラーによる画質の低下を抑えつつ、通信帯域を効率的に利用できる送信方法を提供する。【解決手段】  変化量検出部１０３は、映像データに対応する映像における所定の表示範囲内の映像のフレーム間における変化量を算出する（Ｓ２０１）。そして、冗長度決定部１０５は、算出された変化量が第１の閾値よりも高い場合、所定の表示範囲の映像データに対する冗長データのデータ数が多くなるように、冗長データのデータ数を決定する（Ｓ２０３）。そして、通信制御部１０８は、決定された冗長データのデータ数に基づいて、映像データを含むデータを送信する（Ｓ２０８）。【選択図】  図３
2010028736.tif 000002
【特許請求の範囲】
【請求項１】
受信装置が映像データのエラーの訂正に利用可能な冗長データを前記映像データとともに前記受信装置に送信する送信装置であって、
前記映像データに対応する映像における所定の表示範囲内の映像のフレーム間における変化量を算出する算出手段と、
前記変化量が第１の値の場合、前記変化量が第１の値よりも小さい第２の値の場合より、前記所定の表示範囲の映像データに対する前記冗長データのデータ数が多くなるように、前記冗長データのデータ数を決定する決定手段と、
前記決定された冗長データのデータ数に基づいて、前記冗長データを前記所定の範囲の映像の映像データとともに送信する送信手段と
を有することを特徴とする送信装置。
【請求項２】
受信装置が映像データのエラーの訂正に利用可能な冗長データを前記映像データとともに前記受信装置に送信する送信装置であって、
前記映像データに対応する映像における所定の表示範囲内の映像と隣接する表示範囲内の映像の差分を算出する算出手段と、
前記差分が第１の値の場合、前記差分が第１の値よりも小さい第２の値の場合より、前記所定の表示範囲の映像データに対する前記冗長データのデータ数が多くなるように、前記冗長データのデータ数を決定する決定手段と、
前記決定された冗長データのデータ数に基づいて、前記冗長データを前記所定の範囲内の映像の映像データとともに送信する送信手段と
を有することを特徴とする送信装置。
【請求項３】
前記算出手段は、前記所定の表示範囲内の映像のフレーム間における前記変化量を、複数フレーム分、合計し、
前記決定手段は、前記変化量の前記複数フレーム分の合計値が第１の変化量の場合、前記合計値が第１の変化量よりも小さい第２の変化量の場合より、前記所定の表示範囲の映像データに対する前記冗長データのデータ数が多くなるように、前記複数フレームの前記所定の表示範囲における冗長データのデータ数を決定することを特徴とする請求項１記載の送信装置。
【請求項４】
前記算出手段は、前記所定の表示範囲内の映像と前記所定の表示範囲に隣接する表示範囲内の映像の差分を、複数フレーム分、合計し、
前記決定手段は、前記差分の前記複数フレーム分の合計値が第１の値の場合、前記合計値が第１の値よりも小さい第２の値の場合より、前記所定の表示範囲の映像データに対する前記冗長データのデータ数が多くなるように、前記複数フレームの前記所定の表示範囲における冗長データのデータ数を決定することを特徴とする請求項２記載の送信装置。
【請求項５】
前記変化量は、前記所定の表示範囲内の映像のフレーム間における差分値に応じて算出される
ことを特徴とする請求項１記載の送信装置。
【請求項６】
前記変化量は、第１フレームの所定の表示範囲内の映像と、当該第１のフレームの所定の表示範囲内の映像を符号化するために参照する第２フレームの対応する表示範囲内の映像との距離を示す情報に応じて算出される
ことを特徴とする請求項１記載の送信装置。
【請求項７】
前記変化量は、前記所定の範囲内の映像から検出されるオブジェクトの表示画面上における大きさと、当該オブジェクトのフレーム間における移動量とに基づいて算出される
ことを特徴とする請求項１記載の送信装置。
【請求項８】
前記算出手段は、前記映像データに含まれる、撮影時における撮影機器の動き情報に応じて、前記変化量を算出する
ことを特徴とする請求項１記載の送信装置。
【請求項９】
前記決定手段は、
前記変化量が前記第１の変化量の場合、前記映像データに対する冗長データのデータ数を所定のデータ数だけ増加させる
ことを特徴とする請求項１記載の送信装置。
【請求項１０】
前記算出手段は、第１フレームの前記所定の表示範囲内の複数のブロックのそれぞれが、当該ブロックの映像データを符号化するために参照する第２フレーム内のブロックに対する表示画面上における方向の統一度を評価し、
前記決定手段は、前記所定の表示範囲内において複数検知された前記方向の統一度の評価値が第１の評価値であり、且つ、前記変化量が前記第１の変化量の場合の前記冗長データのデータ数を、
前記統一度の評価値が前記第１の評価値よりも高い第２の評価値であり、且つ、前記変化量が前記第１の変化量の場合の前記冗長データのデータ数よりも多くなるように、前記所定の表示範囲の冗長データのデータ数を決定する
ことを特徴とする請求項１記載の送信装置。
【請求項１１】
受信装置が映像データのエラーの訂正に利用可能な冗長データを前記映像データとともに前記受信装置に送信する送信装置が行う送信方法であって、
前記映像データに対応する映像における所定の表示範囲内の映像のフレーム間における変化量を算出する算出工程と、
前記変化量が第１の値の場合、前記変化量が第１の値よりも小さい第２の値の場合より、前記所定の表示範囲の映像データに対する前記冗長データのデータ数が多くなるように、前記冗長データのデータ数を決定する決定工程と、
前記決定された冗長データのデータ数に基づいて、前記冗長データを前記所定の範囲内の映像の映像データとともに送信する送信工程と
を有することを特徴とする送信方法。
【請求項１２】
受信装置が映像データのエラーの訂正に利用可能な冗長データを前記映像データとともに前記受信装置に送信するコンピュータに、
前記映像データに対応する映像における所定の表示範囲内の映像のフレーム間における変化量を算出する算出手順と、
前記変化量が第１の値の場合、前記変化量が第１の値よりも小さい第２の値の場合より、前記所定の表示範囲の映像データに対する前記冗長データのデータ数が多くなるように、前記冗長データのデータ数を決定する決定手順と、
前記決定された冗長データのデータ数に基づいて、前記冗長データを前記所定の範囲内の映像の映像データとともに送信する送信手順と
を実行させることを特徴とするプログラム。
【請求項１３】
受信装置が映像データのエラーの訂正に利用可能な冗長データを前記映像データとともに前記受信装置に送信する送信装置が行う送信方法であって、
前記映像データに対応する映像における所定の表示範囲内の映像と前記所定の表示範囲に隣接する表示範囲内の映像の差分を算出する算出工程と、
前記差分が第１の値の場合、前記差分が第１の値よりも小さい第２の値の場合より、前記所定の表示範囲の映像データに対する前記冗長データのデータ数が多くなるように、前記冗長データのデータ数を決定する決定工程と、
前記決定された冗長データのデータ数に基づいて、前記冗長データを前記所定の範囲内の映像の映像データとともに送信する送信工程と
を有することを特徴とする送信方法。
【請求項１４】
受信装置が映像データのエラーの訂正に利用可能な冗長データを前記映像データとともに前記受信装置に送信するコンピュータに、
前記映像データに対応する映像における所定の表示範囲内の映像と前記所定の表示範囲に隣接する表示範囲内の映像の差分を算出する算出手順と、
前記差分が第１の値の場合、前記差分が第１の値よりも小さい第２の値の場合より、前記所定の表示範囲の映像データに対する前記冗長データのデータ数が多くなるように、前記冗長データのデータ数を決定する決定手順と、
前記決定された冗長データのデータ数に基づいて、前記冗長データを前記所定の範囲内の映像の映像データとともに送信する送信手順と
を実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は映像データの送信装置及び方法に関する。
【背景技術】
【０００２】
近年、インターネットの環境は、ＡＤＳＬ（Ａｓｙｎｃｈｒｏｎｏｕｓ  Ｄｉｇｉｔａｌ  Ｓｕｂｓｃｒｉｂｅｒ  Ｌｉｎｅ）やＦＴＴＨ（Ｆｉｂｅｒ  Ｔｏ  Ｔｈｅ  Ｈｏｍｅ）等の普及によりブロードバンド化が進んでいる。さらに、パーソナルコンピュータ（ＰＣ）を始めとする様々なコンピューティングデバイスの処理能力も向上している。
【０００３】
このような通信環境並びにデータ処理環境の性能向上を背景として、動画像や音声といったマルチメディアデータを、ネットワークを介してリアルタイムに配信するストリーミング技術が実用化されている。このようなストリーミング技術が実用化されたことにより、ユーザはライブメディアまたは記録済みメディアのブロードバンド放送を視聴したり、記録済みメディアをオンデマンド（ｏｎ  ｄｅｍａｎｄ）で視聴したりすることができる。
【０００４】
このようなサービスにとって、例えば通信経路上で発生したエラーを受信装置側で訂正する技術は重要である。
【０００５】
エラーを受信装置側で訂正する技術として、例えば、ＦＥＣ（Ｆｏｒｗａｒｄ  Ｅｒｒｏｒ  Ｃｏｒｒｅｃｔｉｏｎ）がある。ＦＥＣは、映像データの送信側が映像データの受信側に対して誤り訂正用の冗長データを送信し、受信側は、冗長データを用いて、映像データのエラーを訂正するものである。
【０００６】
特許文献１には、エンコーダが、ビデオ信号を高優先度部分のデータと低優先度部分のデータに分け、高優先度部分のデータには誤り訂正用の冗長データを付加して送信し、低優先度部分のデータには、冗長データを付加せずに送信することが記載されている。尚、特許文献１において、高優先度部分と低優先度部分の区別は、例えば、各フレームのフレームタイプ（フレーム内符号化Ｉフレーム、予測Ｐフレーム、予測Ｂフレーム）に基づいて決定している。
【特許文献１】特登録０３８３１５５８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、フレームのタイプによっては、誤り訂正用の冗長データが付加されておらず、このようなフレームのデータがエラーすると、冗長データによる訂正を行うことができず、画質が低下する恐れがあった。
【０００８】
つまり、例えばフレームタイプに基づいて低優先度であると判断されたＢフレームのデータがエラーすると、冗長データによる訂正を行うことができず、再生する映像の画質が低下する恐れがあった。
【０００９】
本発明は以上の問題に鑑みてなされたものであり、その目的は、送信するデータ量を抑えつつ、映像データの通信エラーによる画質の低下を抑えることができる送信方法を提供することである。
【課題を解決するための手段】
【００１０】
上記の問題点を解決するため、本発明の送信装置は、例えば以下の構成を有する。即ち、受信装置が映像データのエラーの訂正に利用可能な冗長データを前記映像データとともに前記受信装置に送信する送信装置であって、前記映像データに対応する映像における所定の表示範囲内の映像のフレーム間における変化量を算出する算出手段と、前記変化量が第１の値の場合、前記変化量が第１の値よりも小さい第２の値の場合より、前記所定の表示範囲の映像データに対する前記冗長データのデータ数が多くなるように、前記冗長データのデータ数を決定する決定手段と、前記決定された冗長データのデータ数に基づいて、前記冗長データを前記所定の範囲内の映像の映像データとともに送信する送信手段とを有する。
【００１１】
また、本発明の送信装置は、受信装置が映像データのエラーの訂正に利用可能な冗長データを前記映像データとともに前記受信装置に送信する送信装置であって、前記映像データに対応する映像における所定の表示範囲内の映像と隣接する表示範囲内の映像の差分を算出する算出手段と、前記差分が第１の値の場合、前記差分が第１の値よりも小さい第２の値の場合より、前記所定の表示範囲の映像データに対する前記冗長データのデータ数が多くなるように、前記冗長データのデータ数を決定する決定手段と、前記決定された冗長データのデータ数に基づいて、前記冗長データを前記所定の範囲内の映像の映像データとともに送信する送信手段とを有する。
【００１２】
また、本発明の送信方法は、受信装置が映像データのエラーの訂正に利用可能な冗長データを前記映像データとともに前記受信装置に送信する送信装置が行う送信方法であって、前記映像データに対応する映像における所定の表示範囲内の映像のフレーム間における変化量を算出する算出工程と、前記変化量が第１の値の場合、前記変化量が第１の値よりも小さい第２の値の場合より、前記所定の表示範囲の映像データに対する前記冗長データのデータ数が多くなるように、前記冗長データのデータ数を決定する決定工程と、前記決定された冗長データのデータ数に基づいて、前記冗長データを前記所定の範囲内の映像の映像データとともに送信する送信工程とを有する。
【００１３】
また、本発明の送信方法は、受信装置が映像データのエラーの訂正に利用可能な冗長データを前記映像データとともに前記受信装置に送信する送信装置が行う送信方法であって、前記映像データに対応する映像における所定の表示範囲内の映像と隣接する表示範囲内の映像の差分を算出する算出工程と、前記差分が第１の値の場合、前記差分が第１の値よりも小さい第２の値の場合より、前記所定の表示範囲の映像データに対する前記冗長データのデータ数が多くなるように、前記冗長データのデータ数を決定する決定工程と、前記決定された冗長データのデータ数に基づいて、前記冗長データを前記所定の範囲内の映像の映像データとともに送信する送信工程とを有する。
【発明の効果】
【００１４】
本発明によれば、送信するデータ量を抑えつつ、映像データの通信エラーによる画質の低下を抑えることができる。
【発明を実施するための最良の形態】
【００１５】
＜実施形態１＞
以下、添付図面を参照して、本発明の好適な実施形態について詳細に説明する。
【００１６】
図１は、本実施形態の送信装置１００の機能構成例を示すブロック図である。
【００１７】
尚、送信装置１００は、受信装置が映像データのエラーの訂正に利用可能な冗長データ（ＦＥＣデータ）を映像データとともに受信装置に送信する送信装置である。また、この送信装置１００は、パーソナルコンピュータ、ワークステーション、ノートブックＰＣ、コンピュータを内蔵した各種家電製品、ゲーム機、携帯電話、デジタルビデオカメラ、デジタルカメラなどの機器、或いはこれらの組み合わせにより実現可能である。本実施形態では、送信装置１００が、受信装置に対して動画像データを送信する場合を例にあげて説明する。
【００１８】
図１に示すように、送信装置１００は、動画像符号化部１０２と、変化量検出部１０３と、パケット生成部１０４と、冗長度決定部１０５と、バッファ１０６と、誤り訂正符号化部１０７と、通信制御部１０８と、通信インターフェース１０９とを備えている。
【００１９】
図１において、１１０は各種ネットワークに代表される伝送路であり、本実施形態においては、動画像データのパケット（ＲＴＰパケット）を送受信するためのネットワークである。尚、ＲＴＰパケットは、送信装置１００が動画像データの送信プロトコルとして用いるＲＴＰ（Ｒｅａｌｔｉｍｅ  Ｔｒａｎｓｐｏｒｔ  Ｐｒｏｔｏｃｏｌ）に応じた動画像データのパケットである。
【００２０】
動画像符号化部１０２は、ビデオカメラやＷｅｂカメラ等の映像入力装置１０１から入力された動画像データをＭＰＥＧ（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）−４方式により符号化する。ただし、動画像符号化部１０２に入力される動画像データは、カメラなどからの入力に限らず、例えば、ネットワーク上のサーバや、動画像データを記憶するハードディスクなどから入力されるものであっても良い。また、動画像符号化部１０２は、ＭＰＥＧ−４に限らずＭＰＥＧ−２やＨ．２６４（ＭＰＥＧ−４  ＡＶＣ）などの符号化方式を用いて符号化しても良い。動画像符号化部１０２において符号化された動画像データは、パケット生成部１０４へ入力される。また、動画像符号化部１０２は、必要に応じて、符号化された動画像データを変化量検出部１０３に入力する。
【００２１】
パケット生成部１０４は、動画像符号化部１０２において符号化された動画像データをパケット化し、パケット化された動画像データ（ＲＴＰパケット）をバッファ１０６に記憶させる。バッファ１０６は、ＲＴＰパケット、及び後述するＦＥＣパケットを一時的に記憶するためのバッファである。尚、本実施形態の送信装置１００は、動画像データの符号化方式としてＭＰＥＧ−４  Ｖｉｄｅｏを用い、動画像データを送信するためのプロトコルとしてＲＴＰを用いる。また、本実施形態のパケット生成部１０４は、動画像データのＲＴＰペイロードフォーマットを規定しているＲＦＣ３５５０に従って、符号化された動画像データをパケット化する。ただし、これらの形態に限らない。
【００２２】
変化量検出部１０３は、映像入力装置１０１から入力された動画像データの変化量を、所定の表示範囲ごとに算出する。ここで、所定の表示範囲の例として、例えば、動画像のストリーム、ＧＯＰ（Ｇｒｏｕｐ  Ｏｆ  Ｐｉｃｔｕｒｅ）、フレーム、スライス、ビデオパケットなどがある。また、本形態における変化量は、動画像データのあるフレームの映像と、その前に再生されるフレームの映像との変化量を示したものである。変化量検出部１０３は、算出した変化量を冗長度決定部１０５に通知する。
【００２３】
即ち、変化量検出部１０３は、映像データに対応する映像における所定の表示範囲内の映像のフレーム間における変化量を算出する。
【００２４】
変化量検出部１０３が算出する変化量の詳細については、後述する。
【００２５】
冗長度決定部１０５は、変化量検出部１０３から通知された変化量に応じて、変化量が算出された所定の表示範囲の誤り訂正符号化率（ＦＥＣ冗長度）を決定する。ここで、誤り訂正符号化率は、動画像データのデータ数（ＲＴＰパケットの数）に対するＦＥＣデータのデータ数（ＦＥＣパケット数）を示している。つまり、例えば、４つのＲＴＰパケットに、１つのＦＥＣパケットが対応する場合、誤り訂正符号化率は２０％となる。また、ＦＥＣデータ（冗長データ）は、例えば通信経路上でエラーした動画像データを受信装置側で訂正できるように、受信装置に送信される誤り訂正用のデータである。冗長度決定部１０５による誤り訂正符号化率の決定方法の詳細は、後述する。
【００２６】
誤り訂正符号化部１０７は、冗長度決定部１０５から通知された誤り訂正符号化率に応じて、バッファ１０６に記憶されている複数のＲＴＰパケットを読み込み、当該複数のＲＴＰパケットからＦＥＣパケットを生成する。誤り訂正符号化部１０７は、生成したＦＥＣパケットをバッファ１０６に記憶させる。
【００２７】
通信制御部１０８は、動画像データを送信するための通信経路や通信プロトコルの制御を行うと共に、バッファ１０６においてに記憶されているＲＴＰパケット、及びＦＥＣパケットの送信制御を行う。また、通信インターフェース１０９は、伝送路１１０を介してコンピュータシステム間のデータ転送を行うためのインターフェースである。つまり、バッファ１０６に記憶されたＲＴＰパケット、及びＦＥＣパケットは、通信制御部１０８により通信インターフェース１０９を介して所定の宛先（受信装置）へ向けて送信される。
【００２８】
即ち、通信制御部１０８は、決定された冗長データのデータ数に基づいて、冗長データを所定の範囲内の映像の映像データ（動画像データ）とともに送信する。
【００２９】
次に本実施形態の送信装置１００が行う、処理の手順について、図２を用いて説明する。
【００３０】
図２において、変化量検出部１０３は、映像入力装置１０１から入力された動画像データに対して、所定の表示範囲における変化量を検出する（Ｓ２０１）。尚、本形態における変化量は、動画像データのあるフレームの映像と、その前に再生されるフレームとの映像の違いを示すパラメータである。
【００３１】
即ち、Ｓ２０１（算出手順）において、変化量検出部１０３は、映像データに対応する映像における所定の表示範囲内の映像のフレーム間における変化量を算出する。
【００３２】
ここで、所定の表示範囲の例として、例えば、動画像のストリーム、ＧＯＰ、フレーム、スライス、ビデオパケットなどがある。本実施形態の変化量検出部１０３は、フレーム単位で変化量を検出する。つまり、変化量検出部１０３は、動画像符号化部１０２から、符号化された動画像データを受信する。そして、変化量検出部１０３は、所定の表示範囲内（フレーム）のマクロブロックごとに付加された動きベクトルを参照し、動きがあるマクロブロックの数、及び、その動きの大きさの合計値をフレームごとに算出する。ただし、例えばマクロブロック単位以外で動きベクトルの情報が付加されている場合などは、マクロブロック以外の単位で動きベクトルを参照するようにしても良い。
【００３３】
即ち、変化量検出部１０３は、変化量を、第１フレームの所定の表示範囲内の映像と、当該第１のフレームの所定の表示範囲内の映像を符号化するために参照する第２フレームの対応する表示範囲内の映像との距離を示す情報に応じて算出する。尚、所定の表示範囲には、例えば、動画像のストリーム、ＧＯＰ、フレーム、スライス、ビデオパケットなどがある。また、所定の表示範囲を例えば、ＧＯＰとした場合、変化量検出部１０３は、各ＧＯＰに属する複数のフレームのそれぞれにおいて、フレーム内のマクロブロック毎に付加された動きベクトルを参照する。そして、変化量検出部１０３は、動きがあるマクロブロックの数、及び、その動きの大きさのＧＯＰごとの合計値を算出する。
【００３４】
ただし、変化量検出部１０３による変化量の算出方法は、動きベクトルを参照する方法に限らない。動きベクトルを参照する以外の方法による変化量の算出については、後述する。
【００３５】
変化量検出部１０３は、所定の表示範囲における変化量を冗長度決定部１０５へ通知する。
【００３６】
変化量検出部１０３から変化量を通知された冗長度決定部１０５は、変化量が誤り訂正符号化率（ＦＥＣ冗長度）増加の閾値である第１の閾値以上か否かを判定する（Ｓ２０２）。上述のように、誤り訂正符号化率は、動画像データのデータ数（ＲＴＰパケット数）に対する冗長データのデータ数（ＦＥＣパケット数）を示している。例えば、ＲＴＰパケット４つに対してＦＥＣパケットを１つ生成する場合、誤り訂正符号化率は、１／５（２０％）である。尚、本実施形態の変化量検出部１０３は、フレーム内のマクロブロックうち、動きのあるマクロブロックの数、及びその動きの大きさを合計したものを変化量として算出している。また、本実施形態の冗長度決定部１０５は、第１の閾値を、動きのあるマクロブロックの数が、所定の表示範囲（フレーム）内のマクロブロックの所定の割合、例えば８０％に相当する数で、且つ、その動きの大きさの合計がフレームの縦の長さであると設定している。即ち、冗長度決定部１０５は、フレーム内のマクロブロック数のうち、８０％以上のマクロブロックがフレーム間で表示位置を移動しており、且つ、その移動量の合計が所定の長さ、例えばフレームの縦の長さよりも長い場合は、誤り訂正符号化率を増加させる。ただし、第１の閾値の設定方法はこれに限らない。すなわち、冗長度決定部１０５は、例えば移動するマクロブロックの数、もしくは動きの大きさの合計値のいずれか一方に基づいて設定しても良い。また、第１の閾値を例えばユーザ等が設定、変更できるようにしても良い。
【００３７】
Ｓ２０２における判定の結果、変化量が第１の閾値以上の場合には、Ｓ２０３へと処理を移行する。Ｓ２０３において、冗長度決定部１０５は、現在設定されている誤り訂正符号化率ｒｌａｓｔにΔｒを加えた値を新たな誤り訂正符号化率ｒｎｏｗとして決定する（ｒｎｏｗ＝ｒｌａｓｔ＋Δｒ）。例えば、現在設定されている誤り訂正符号化率ｒｌａｓｔが１／９であった場合、誤り訂正符号化部１０７は、前に送信されるフレームのＲＴＰパケット８つに対して、ＦＥＣパケットを１つ生成していたことになる。この場合、冗長度決定部１０５は、例えばＳ２０３の処理によって、次に送信されるフレームのＲＴＰパケット８つに対して２つのＦＥＣパケットが生成されるように、誤り訂正符号化率ｒｎｏｗを決定する。これにより、誤り訂正符号化率ｒｎｏｗは、１／５になる。そして、誤り訂正符号化部１０７は、例えば、４つのＲＴＰパケットに対して１つのＦＥＣパケットを生成するようになる。つまり、Δｒは、変化量が第１の閾値以上の場合に、所定の表示範囲のＲＴＰパケットに対して付加するＦＥＣパケットの数をどれだけ増加させるかを示す値である。
【００３８】
即ち、Ｓ２０３において、冗長度決定部１０５は、変化量が第１の値の場合、変化量が第１の値よりも小さい第２の値の場合より、所定の表示範囲の映像データに対する冗長データのデータ数が多くなるように、冗長データのデータ数を決定する。
【００３９】
また、Ｓ２０３において、冗長度決定部１０５は、変化量が第１の値の場合、映像データに対する冗長データのデータ数を所定のデータ数（Δｒ）だけ増加させる。
【００４０】
ここで、第１の値は第１の閾値、第２の値は第２の閾値に相当する。第２の閾値については、後述する。つまり、冗長度決定部１０５は、変化量が第１の閾値以上の場合、変化量を算出した所定の表示範囲における動画像データのデータ数（ＲＴＰパケット数）に対する冗長データのデータ数（ＦＥＣパケット数）が多くなるように、冗長データのデータ数を決定する。また、本形態では、変化量が第１の値の場合、動画像データに対する冗長データのデータ数を所定のデータ数だけ増加させている。このようにすることで、誤り訂正符号化率の急激な変化を防止することができる。
【００４１】
尚、誤り訂正符号化率ｒｌａｓｔが、すでに上限値に達している（例えば１／２）場合は、Ｓ２０３の処理を省略する。また、送信開始時における誤り訂正符号化率は、任意の値に設定すれば良い。尚、誤り訂正符号化率が１／２（５０％）に達した状態は、同じＲＴＰパケットを２つずつ送信する状態に相当する。
【００４２】
一方、Ｓ２０２の判定の結果、変化量が第１の閾値よりも小さい場合、冗長度決定部１０５は、変化量が誤り訂正符号化率削減の閾値である第２の閾値以下か判定する（Ｓ２０４）。なお、この第２の閾値は第１の閾値より小さい。本実施形態の冗長度決定部１０５は、第２の閾値を、例えば以下のようにあらかじめ設定している。即ち、冗長度決定部１０５は、フレーム内のマクロブロックのうち動きのあるマクロブロックの数が所定の割合、例えば１０％に相当する数であると設定している。即ち、冗長度決定部１０５は、フレーム内のマクロブロック数のうち、９０％以上のマクロブロックがフレーム間で表示位置を移動していない場合、誤り訂正符号化率を減少させる。この判定の結果、変化量が第２の閾値以下の場合には、Ｓ２０５へと処理を移行する。Ｓ２０５において、冗長度決定部１０５は、現在設定されている誤り訂正符号化率ｒｌａｓｔに所定値Δｒを減じた値を新たな誤り訂正符号化率ｒｎｏｗとして決定する（ｒｎｏｗ＝ｒｌａｓｔ−Δｒ）。つまり、例えば、現在設定されている誤り訂正符号化率ｒｌａｓｔが１／４、すなわち、前に送信されるフレームの８つのＲＴＰパケットに対して２つのＦＥＣパケットを生成するような誤り訂正符号化率が設定されていたとする。この場合、冗長度決定部１０５は、例えばＳ２０５の処理によって、次に送信されるフレームのＲＴＰパケット８つに対して１つのＦＥＣパケットが生成されるように、誤り訂正符号化率ｒｎｏｗを決定する。つまり、Δｒは、変化量が第２の閾値未満の場合に、所定の表示範囲のＲＴＰパケットに対して付加するＦＥＣパケットの数をどれだけ減少させるかを示す値である。尚、Ｓ２０３で用いるΔｒと、Ｓ２０５で用いるΔｒは、別の値であっても良い。また、誤り訂正符号化率ｒｌａｓｔが、すでに下限値に達している（例えば１／９）場合は、Ｓ２０３の処理を省略する。
【００４３】
冗長度決定部１０５は、Ｓ２０４の判定の結果、変化量が第２の閾値よりも大きいと判断した場合、すなわち変化量が第１の閾値と第２の閾値の中間の値である場合は、Ｓ２０６へと処理を移行する。つまり、冗長度決定部１０５は、例えば、所定の表示範囲（フレーム）内のマクロブロックのうち動きのあるマクロブロックの数が所定の範囲、例えば１０％から８０％の間に相当する数であった場合にＳ２０６に移行する。また、冗長度決定部１０５は、フレーム内のマクロブロックのうち動きのあるマクロブロックの数が８０％以上であり、かつその移動量の合計が所定の長さ、例えばフレームの縦の長さよりも短かった場合等にＳ２０６に移行する。
【００４４】
Ｓ２０６において、冗長度決定部１０５は、現在設定されている誤り訂正符号化率ｒｌａｓｔを新たな誤り訂正符号化率ｒｎｏｗとして決定する（ｒｎｏｗ＝ｒｌａｓｔ）。つまり、変化量が第１の閾値と第２の閾値の中間の値である場合、誤り訂正符号化率は変化しない。
【００４５】
尚、第１の閾値と第２の閾値は、各々任意の値を設定することが可能である。これらの値は経験に基づいて設定されたり、受信装置側のエラー隠蔽機能の能力やエラー隠蔽処理を実施した後の映像品質に応じて、最適な値が設定される。また、誤り訂正符号化率の増減幅Δｒも任意の値を使用することが可能であり、例えば、増減する割合とそれにより得られる効果から統計的に最適な値が設定される。
【００４６】
また、本実施形態では、検知された変化量と閾値との比較によって誤り訂正符号化率を所定の値Δｒだけ増減させるようにしている。しかし、これまでのフレームに対する誤り訂正符号化率を考慮せずに、誤り訂正符号化率を決定するようにしても良い。つまり、冗長度決定部１０５は、例えば、あるフレームにおける変化量が第１の閾値よりも大きい場合は、現在の誤り訂正符号化率ｒｌａｓｔに関わらず、誤り訂正符号化率ｒｎｏｗを１／５とする。つまり、誤り訂正符号化部１０７が、例えばあるフレームの１６個のＲＴＰパケットに対して４つのＦＥＣパケットを生成するように、誤り訂正符号化率を決定する。また、冗長度決定部１０５は、例えば、そのフレームにおける変化量が第１の閾値と第２の閾値の中間の場合、現在の誤り訂正符号化率に関わらず、誤り訂正符号化率を１／９とする。つまり、誤り訂正符号化部１０７が、１６個のＲＴＰパケットに対して２つのＦＥＣパケットを生成するように、誤り訂正符号化率を決定する。そして、冗長度決定部１０５は、例えば、変化量が第２の閾値よりも小さい場合は、誤り訂正符号化率を１／１７とする。つまり、誤り訂正符号化部１０７が、１６個のＲＴＰパケットに対して１つのＦＥＣパケットを生成するように、誤り訂正符号化率を決定する。冗長度決定部１０５は、このように、これまでのフレームに対する誤り訂正符号化率に関わらず、新たな誤り訂正符号化率を決定することにより、より検知された変化量に対応した誤り訂正符号化率を決定できる。
【００４７】
また、本実施形態では、２つの閾値との比較結果によって誤り訂正符号化率を決定しているが、さらに多くの閾値を用いて誤り訂正符号化率を決定するようにしても良い。
【００４８】
Ｓ２０３、Ｓ２０５又はＳ２０６において冗長度決定部１０５により決定された誤り訂正符号化率は、それぞれのステップにおいて誤り訂正符号化部１０７へ通知される。誤り訂正符号化部１０７は、Ｓ２０７において、通知された誤り訂正符号化率に従って、バッファ１０６に記憶されている複数のＲＴＰパケットを読み込む。
【００４９】
そして、誤り訂正符号化部１０７は、Ｓ２０８（送信手順）において、読み込んだ複数のＲＴＰパケットからＦＥＣパケットを生成する。上述のように、ＦＥＣパケットの生成に必要となるＲＴＰパケット数は、導出された誤り訂正符号化率に従って決定される。すなわち、誤り訂正符号化率が低い場合には、多数のＲＴＰパケットからＦＥＣパケットを生成し、逆に誤り訂正符号化率が高い場合には、少数のＲＴＰパケットからＦＥＣパケットを生成することになる。
【００５０】
誤り訂正符号化部１０７において生成されたＦＥＣパケットは、バッファ１０６へ記憶される。
【００５１】
さらに、Ｓ２０８（送信手順）において、通信制御部１０８は、バッファ１０６に記憶されたＦＥＣパケットを、通信インターフェース１０９を介して所定の宛先へ向けて送信する。
【００５２】
即ち、Ｓ２０８（送信手順）において、通信制御部１０８は、決定された誤り訂正符号化率に基づいて、ＲＴＰパケット（映像データ）とＦＥＣパケット（冗長データ）を含むデータを送信する。
【００５３】
尚、ＦＥＣに対するＲＴＰペイロードフォーマットは、ＲＦＣ２７３３において規定されており、詳細はこちらを参照されたい。又、ＦＥＣの種類としては、ターボ符号や畳み込み符号、ブロック符号などの方式があるが、本実施形態では何れの種類であってもよい。
【００５４】
本形態のように、動画像データの変化量に応じて誤り訂正符号化率を決定するのは、以下の理由による。すなわち、通常、エラー隠蔽の有効度（難易度）は映像の変化量に従って異なる。つまり、エラー隠蔽として、例えば、エラーしたＲＴＰパケットに対応する映像を、そのエラーを含むフレームの前に再生されるフレームのデータを用いて再生する場合を考える。この場合、エラーしたＲＴＰパケットに対応する映像と、そのエラーを含むフレームの前に再生されるフレームの対応する映像が大きく異なると、エラー隠蔽の結果、本来表示されるべき映像と大きく異なる映像が表示されてしまう。一方、エラーしたＲＴＰパケットに対応する映像と、そのエラーを含むフレームの前に再生されるフレームの対応する映像との違いが小さければ、エラー隠蔽を行うことによって、本来表示されるべき映像に近い映像を表示させることができる。そこで、冗長度決定部１０５は、映像の変化量が小さい場合、主たるエラー処理機能が受信装置側のエラー隠蔽機能となるように、誤り訂正符号化率を下げる。このようにすることで、使用する通信帯域を削減することができる。さらに、その結果、動画像データに対して通信帯域を効率的に割り当てることも可能となる。一方、映像の変化量が大きい場合、エラー隠蔽機能の有効度が低いため、冗長度決定部１０５は、主たるエラー処理機能がＦＥＣデータによるエラー訂正となるように、誤り訂正符号化率を上げる。このようにすることで、動画像データの通信エラーによる画質の低下を抑えることができる。
【００５５】
次に、冗長度決定部１０５によって決定された誤り訂正符号化率に応じた動画像データと、冗長データ（ＦＥＣデータ）の関係を、図３を用いて説明する。図３は、本実施形態の送信装置１００において、動画像符号化部１０２により符号化される動画像フレームと、パケット生成部１０４により生成されるＲＴＰパケットと、誤り訂正符号化部により生成されるＦＥＣパケットの関係を時間経過と共に示した図である。ここでは説明を簡単にするため、変化量検出部１０３がフレーム単位で変化量を検出し、冗長度決定部１０５がフレーム単位で誤り訂正符号化率を決定するものとする。
【００５６】
図中３０１〜３０６は動画像符号化部１０２により符号化された動画像の各フレームを示している。時刻ｔ０に符号化されたフレーム３０１と、時刻ｔ３に符号化されたフレーム３０４はフレーム内符号化フレーム（Ｉ−ＶＯＰ）である。また、時刻ｔ１、ｔ２、ｔ４、ｔ５に符号化された各フレーム３０２、３０３、３０５、３０６はフレーム間予測符号化フレーム（Ｐ−ＶＯＰ）である。各Ｐ−ＶＯＰは、直前のフレームを基に現フレームとの差分を符号化したフレームである。尚、時刻ｔ２から時刻ｔ３の間と、時刻ｔ５以降にもフレームが存在するが、図３ではこれらのフレームは図示しない。
【００５７】
本形態において、動画像フレーム３０１〜３０６は、フレーム単位でパケット生成部１０４へ入力されてパケット化され、バッファ１０６へ記憶される。例えば、時刻ｔ１に符号化されたフレーム３０２は、パケット生成部１０４により、４つのＲＴＰパケット３０７〜３１０にパケット化される。同様に、時刻ｔ４に符号化されたフレーム３０５は、パケット生成部１０４により４つのＲＴＰパケット３１１〜３１４にパケット化される。フレーム３０１、３０３、３０４、３０６と図示しないフレームもＲＴＰパケット化されるが、図３ではこれらのパケットは図示しない。
【００５８】
ここで、フレーム３０２に対する誤り訂正符号化率を決定する時点における現在の誤り訂正符号化率ｒｌａｓｔは、１／６であったとする。つまり、誤り訂正符号化部１０７は、フレーム３０１のＲＴＰパケット５つに対してＦＥＣパケットが１つに生成されるように、ＦＥＣパケットを生成していたとする。そして、図２のＳ２０２において、冗長度決定部１０５が、参照フレーム３０１からフレーム３０２への変化量が第１の閾値よりも大きいと判断し、新たな誤り訂正符号化率ｒｎｏｗを１／５に設定したことを示している。つまり、冗長度決定部１０５は、ＲＴＰパケット４つに対してＦＥＣパケットが１つ生成されるように、フレーム３０２に対する誤り訂正符号化率を決定する。尚、一般に、Ｉ−ＶＯＰはＰ−ＶＯＰよりもデータ量が大きいため、フレーム当たりのＲＴＰパケットの数も多くなる。本形態においてフレーム３０１のＲＴＰパケット数は、フレーム３０２のＲＴＰパケット数よりも多い。
【００５９】
ここで、例えば、フレーム３０１のＲＴＰパケット数が５の倍数であれば、誤り訂正符号化部１０７は、フレーム３０１に対して決定された誤り訂正符号化率（１／６）に従ってＲＴＰパケット５つに対してＦＥＣパケットを１つ生成することができる。しかし、フレーム３０１のＲＴＰパケット数が５の倍数ではない場合、即ち、決定された誤り訂正符号化率に従ってＦＥＣパケットを生成すると、例えばＦＥＣデータによるエラー訂正が行えないＲＴＰパケットができてしまう場合もあり得る。つまり、例えばフレーム３０１のＲＴＰパケット数が１８個であり、誤り訂正符号化率が１／６であった場合、フレーム３０１のＲＴＰパケットのうち、３つのＲＴＰパケットは、ＦＥＣデータによるエラー訂正が行えなくなってしまう恐れがある。そこで、本形態の誤り訂正符号化部１０７は、１８個のＲＴＰパケットのうち、１５個のＲＴＰパケットに対しては、冗長度決定部１０５により決定された誤り訂正符号化率（１／６）でＦＥＣパケットを生成する。さらに、誤り訂正符号化部１０７は、残りの３つのＲＴＰパケットに対して、１つのＦＥＣパケットを生成する。このようにすれば、所定の表示範囲ごとに誤り訂正符号化率を変更することによってＦＥＣデータによる誤り訂正が行えなくなるＲＴＰパケットが発生してしまうことを防止できる。
【００６０】
また、誤り訂正符号化部１０７は、フレーム３０１に対して決定された誤り訂正符号化率が１／６であり、フレーム３０１のＲＴＰパケット数が１８であった場合、誤り訂正符号化率を１／４に変更するようにしても良い。このように、誤り訂正符号化部１０７は、所定の表示範囲における変化量に応じて決定された誤り訂正符号化率を、所定の表示範囲におけるＲＴＰパケットのパケット数に応じて訂正するようにしても良い。このような場合は、誤り訂正符号化率が増加するように訂正することが望ましい。このようにしても、所定の表示範囲ごとに誤り訂正符号化率を変更することによってＦＥＣデータによる誤り訂正が行えなくなるＲＴＰパケットが発生してしまうことを防止できる。また、ＲＴＰパケットのパケット数に対するＦＥＣパケットのパケット数を平均化することができる。
【００６１】
図３において、フレーム３０５以降のフレームでは、フレーム間の変化量が小さく、フレーム３０５の誤り訂正符号化率が、０と決定される。前述したように、本実施形態の送信装置１００の冗長度決定部１０５は、入力動画像の変化量に応じて誤り訂正符号化率を決定する。従って、冗長度決定部１０５は、変化量が大きいフレーム３０２に対しては、誤り訂正符号化率を例えば２０％（１／５）と決定する。そして、誤り訂正符号化部１０７は、決定された誤り訂正符号化率に応じて、４つのＲＴＰパケット３０７〜３１０から１つのＦＥＣパケット３１５を生成する。一方、冗長度決定部１０５は、変化量が小さいフレーム３０５に対しては、受信装置側のエラー隠蔽機能によりエラー処理するべく、誤り訂正符号化率を０％に決定する。そして、誤り訂正符号化部１０７は、ＲＴＰパケット３１１〜３１４からはＦＥＣパケットを生成しない。
【００６２】
尚、他のフレームについても同様に誤り訂正符号化率を決定するが、ここでは説明を省略する。
【００６３】
次に、本実施形態の送信装置１００を含むシステム全体の構成例について、図４を用いて説明する。
【００６４】
図４において、送信装置１００と受信装置４０２は、ネットワーク４０１を介して相互に接続されている。また、受信装置４０２はエラー隠蔽機能を有しているものとする。つまり、受信装置４０２は、エラーした動画像データに対応する表示位置の再生を、表示位置が隣接する映像のデータや、他のフレームの映像のデータなどを用いて行う機能を有している。
【００６５】
送信装置１００は、図３で示したＲＴＰパケット３０７〜３１４及びＦＥＣパケット３１５を受信装置４０２へと送信する。本実施形態では、ＦＥＣパケット３１５は４つのＲＴＰパケット３０７〜３１０を用いて生成されるが、ＲＴＰパケットとＦＥＣパケットの割合は入力動画像の変化量に応じて適宜変更される。
【００６６】
ネットワーク上のエラーによりＲＴＰパケット３０９がロスしても、受信装置４０２は、正常に受信したＲＴＰパケット３０７、３０８、３１０とＦＥＣパケット３１５とから、ＲＴＰパケット３０９を回復（訂正）することが可能である。したがって、結果としてＲＴＰパケット３０７〜３１０により正常にフレーム３０２を構成し、復号、再生することが可能である。ＲＴＰパケット３０７〜３１０により構成されるフレーム３０２は、参照フレーム３０１からの変化量が大きい為、エラー隠蔽よりも誤り訂正符号によるエラー訂正が効果的である。
【００６７】
一方、ネットワーク上のエラーによりＲＴＰパケット３１３がロスすると、受信装置４０２は当該ＲＴＰパケット３１３を受信できないものの、ＲＴＰパケット３１１、３１２、３１４を受信し、エラー隠蔽処理を施すことにより映像を再生することが可能である。ＲＴＰパケット３１１〜３１４により構成されるフレーム３０５は参照フレーム３０４からの変化量が小さい。従って、フレーム３０５のロスしたＲＴＰパケット３１３の領域を、参照フレーム３０４の同じ表示位置にあるマクロブロックにより補間するなどのエラー隠蔽が効果的である。
【００６８】
つまり、本実施形態の変化量検出部１０３は、映像データに対応する映像における所定の表示範囲内の映像のフレーム間における変化量を検出する。そして、冗長度決定部１０５は、検出された変化量が小さい場合はエラー隠蔽の有効度が高いと判断し、動画像データのデータ量（ＲＴＰパケット数）に対する冗長データのデータ量（ＦＥＣパケット数）を少なくなるように誤り訂正符号化率を決定する。一方、変化量が大きい場合、冗長度決定部１０５は、エラー隠蔽の有効度が低いと判断し、動画像データのデータ量（ＲＴＰパケット数）に対するＦＥＣデータのデータ量（ＦＥＣパケット数）が多くなるように誤り訂正符号化率を決定する。
【００６９】
以上説明した通り、本発明の送信装置１００によれば、エラー隠蔽機能の有効度に応じて、誤り訂正符号化率を制御することで、通信エラーが発生した場合にも動画像品質を維持しながら、通信帯域を効率的に利用することができる。
【００７０】
尚、本実施形態では、動きベクトルを用いて変化量を算出する場合について説明したが、変化量の算出方法には種々の方法を用いることができる。また、受信装置が行うエラー隠蔽処理の方法にも複数の方法が有り、そのエラー隠蔽処理の種別に応じた変化量の算出方法を用いることにより、より本発明の効果を得ることができる。以下、エラー隠蔽の方法と、それに応じた変化量の算出方法の例について説明する。
【００７１】
まず、エラー隠蔽処理の第１の方法として、エラーした動画像データに対応する表示位置の再生を、そのエラーを含むフレームの前に再生されるフレームの、エラーした動画像データの表示位置と同じ表示位置の映像データを用いてエラー隠蔽をする方法がある。受信装置がこのようなエラー隠蔽処理を行う場合、変化量検出部１０３は、所定の表示範囲内の動画像データについて、その前のフレームにおける同じ表示位置の動画像データとの差分を算出する。即ち、変化量検出部１０３は、Ｓ２０２（算出手順）において、変化量を、所定の表示範囲内の映像のフレーム間における差分値に応じて算出する。そして、冗長度決定部１０５は、算出された差分が所定値よりも小さい場合は、主たるエラー処理機能が受信装置側のエラー隠蔽機能となるように、誤り訂正符号化率を下げる。一方、算出された差分が所定値よりも大きい場合は、主たるエラー処理機能がＦＥＣデータによるエラー訂正機能となるように、誤り訂正符号化率を上げる。即ち、冗長度決定部１０５は、変化量が第１の値の場合、Ｓ２０３（決定手順）において、変化量が第１の値よりも小さい第２の値の場合より、所定の表示範囲の映像データに対する冗長データのデータ数が多くなるように、冗長データのデータ数を決定する。この方法では、エラーが発生した場合に、実際にエラー隠蔽機能で用いる映像のデータとの差分に従って誤り訂正符号化率を決定することになるので、より精度良くエラー隠蔽機能の有効度を評価することができる。
【００７２】
また、エラー隠蔽処理の第２の方法として、エラーした動画像データに対応する表示位置の再生を、そのエラーを含むフレームの前後のフレームの、エラーした動画像データの表示位置と同じ表示位置の映像データを用いてエラー隠蔽をする方法がある。受信装置がこのようなエラー隠蔽処理を行う場合、変化量検出部１０３は、所定の表示範囲内の動画像データについて、その前後のフレームの同じ表示位置の映像データとの差分をそれぞれ算出し、その差分の絶対値の合計や平均値を算出する。即ち、変化量検出部１０３は、Ｓ２０１（算出手順）において、映像データに対応する映像における所定の表示範囲内の映像のフレーム間における変化量を算出する。そして、冗長度決定部１０５は、算出された値が所定値よりも小さい場合は、主たるエラー処理機能が受信装置側のエラー隠蔽機能となるように、誤り訂正符号化率を下げる。一方、算出された値が所定値よりも大きい場合は、主たるエラー処理機能がＦＥＣデータによるエラー訂正機能となるように、誤り訂正符号化率を上げる。即ち、冗長度決定部１０５は、変化量が第１の値の場合、Ｓ２０３（決定手順）において、変化量が第１の値よりも小さい第２の値の場合より、所定の表示範囲の映像データに対する冗長データのデータ数が多くなるように、冗長データのデータ数を決定する。このようにすれば、受信装置が、前後のフレームのデータを用いてエラー隠蔽を行う場合にも、精度よくエラー隠蔽の有効度を評価することができる。
【００７３】
また、エラー隠蔽処理の第３の方法として、エラーした動画像データに対応する表示位置の再生を、その表示位置に隣接する位置の動画像データを用いてエラー隠蔽をする方法がある。つまり、受信装置は、エラーした動画像データに対応する表示位置に隣接する１つ又は複数の動画像データを用いてエラー隠蔽する。受信装置がこのようなエラー隠蔽処理を行う場合、変化量検出部１０３は、所定の表示範囲内の動画像データについて、表示位置が隣接する動画像データとの差分を算出する。即ち、変化量検出部１０３は、Ｓ２０１（算出手順）において、所定の表示範囲内の映像と隣接する表示範囲内の映像の差分を算出する。そして、冗長度決定部１０５は、算出された差分が所定値よりも小さい場合は、主たるエラー処理機能が受信装置側のエラー隠蔽機能となるように、誤り訂正符号化率を下げる。一方、算出された差分が所定値よりも大きい場合は、主たるエラー処理機能がＦＥＣデータによるエラー訂正機能となるように、誤り訂正符号化率を上げる。
【００７４】
即ち、冗長度決定部１０５は、差分が第１の値の場合、Ｓ２０２（決定手順）において、差分が第１の値よりも小さい第２の値の場合より、所定の表示範囲の映像データに対する冗長データのデータ数が多くなるように、冗長データのデータ数を決定する。尚、第１の値及び第２の値は、それぞれ任意に設定される閾値である。また、通信制御部１０８は、Ｓ２０８（送信手順）において、冗長度決定部１０５により決定された冗長データのデータ数に基づいて、冗長データを、所定の表示範囲の映像の映像データ（ＲＴＰパケット）とともに送信する。このようにすれば、受信装置が、同じフレームの、表示位置が隣接する映像データを用いてエラー隠蔽を行う場合にも、精度良くエラー隠蔽の有効度を評価することができる。
【００７５】
また、エラー隠蔽処理の第４の方法として、エラーした動画像データに対応する表示位置の映像を、隣接する表示位置の動画像データからエッジ検出するなどによって推定し、エラー隠蔽をする方法がある。つまり、映像の一部が失われた場合、それに隣接する映像のデータからその部分の映像を推定することによってエラー隠蔽する方法である。受信装置がこのようなエラー隠蔽処理を行う場合、変化量検出部１０３は、画像解析によって所定の表示範囲内の映像の規則性を算出する。そして、冗長度決定部１０５は、算出された規則性が所定値よりも小さい場合は、主たるエラー処理機能が受信装置側のエラー隠蔽機能となるように、誤り訂正符号化率を下げる。一方、算出された規則性が所定値よりも大きい場合は、主たるエラー処理機能がＦＥＣデータによるエラー訂正機能となるように、誤り訂正符号化率を上げる。このようにすれば、エラー隠蔽処理の方法が、同じフレームの表示位置が隣接する映像データを用いてエラーに対応する映像を推定する場合にも、精度良くエラー隠蔽の有効度を評価することができる。
【００７６】
また、エラー隠蔽処理の第５の方法として、エラーした動画像データに表示位置が隣接する動画像データに含まれる動きベクトルの情報から、エラーした動画像データの動きベクトルを推定する。そして、推定された動きベクトルに応じた、他のフレームの動画像データを用いてエラー隠蔽する方法がある。受信装置がこのようなエラー隠蔽処理を行う場合、変化量検出部１０３は、動きベクトルによる変化量の算出と共に、所定の表示範囲を複数に分割したマクロブロックにおいて、その動きの向きの統一度を示す評価値を算出する。そして、冗長度決定部１０５は、動きベクトルの参照によって算出された変化量が所定値よりも高い場合は、誤り訂正符号化率を上げる。一方、算出された変化量が所定値よりも低い場合は、誤り訂正符号化率を下げる。これは、例えば、符号化する映像と参照する映像が表示画面上において離れた位置にある場合は、その映像の差分が大きい可能性が高いので、エラー隠蔽の有効度が低いと判断されるためである。この処理は、図２のフローチャートの説明と同様である。
【００７７】
さらに、冗長度決定部１０５は、算出された統一度の評価値が所定値よりも低い場合は、誤り訂正符号化率を上げる。つまり、冗長度決定部１０５は、所定の表示範囲内の各マクロブロックにおける動きベクトルを参照することで動きの方向を複数検知する。そして、その統一性が所定値よりも低いと判断すると、変化量が同じで、且つ、動きの方向の統一性が所定値よりも高いと判断される場合よりも誤り訂正符号化率が高くなるようにする。これは、例えば、図２のＳ２０３において用いるΔｒの値を増加させる処理が行われる。つまり、冗長度決定部１０５は、通常は、Ｓ２０３において、例えばｒｌａｓｔにΔｒを加えることにより、所定の表示範囲のＲＴＰパケットのパケット数に対応するＦＥＣパケットのパケット数が１つ増加するように誤り訂正符号化率を決定する。しかし、動きの方向の統一性の評価値が所定値よりも低いと判断される場合は、それにより、所定の表示範囲のＲＴＰパケットのパケット数に対するＦＥＣパケットのパケット数がさらに１つ増加するように誤り訂正符号化率を決定する。この場合、Ｓ２０３において、ＦＥＣパケットのパケット数が２つ増加する。すなわち、ｒｌａｓｔが１／１７、つまり、１６個のＲＴＰパケットから１つのＦＥＣパケットを生成するように誤り訂正符号化率が設定されていた場合、Ｓ２０３の処理によって決定される誤り訂正符号化率ｒｎｏｗは、３／１９となる。これにより、誤り訂正符号化部１０７は、１６個のＲＴＰパケットに対して３つのＦＥＣパケットを生成するようになる。
【００７８】
一方、算出された統一度の評価値が所定値よりも高い場合は、誤り訂正符号化率を下げる。つまり、冗長度決定部１０５は、所定の表示範囲内の各マクロブロックにおける動きの方向の統一性が所定値よりも高いと判断すると、変化量が同じで、且つ、動きの方向の統一性が所定値よりも低いと判断される場合よりも誤り訂正符号化率が高くなるようにする。これは、例えば、図２のＳ２０３において用いるΔｒの値を減少させる処理が行われる。つまり、冗長度決定部１０５は、通常は、Ｓ２０３において、例えばｒｌａｓｔにΔｒを加えることにより、ＦＥＣパケットに対応するＲＴＰパケットの数が１つ減少するように誤り訂正符号化率を決定する。しかし、動きの方向の統一性の評価値が所定値よりも高いと判断される場合は、それにより、ＦＥＣパケットに対応するＲＴＰパケットの数が１つ増加するように誤り訂正符号化率を決定する。この場合、Ｓ２０３において、ＦＥＣパケットに対応するＲＴＰパケットのパケット数は変化しない。このように、冗長度決定部１０５は、所定の表示範囲における動きの向きの統一度の評価値に応じて、例えば、誤り訂正符号化率の増減値Δｒを変更する。
【００７９】
即ち、変化量検出部１０３は、第１フレームの所定の表示範囲内の複数のブロック（マクロブロック）のそれぞれが、当該ブロックの映像データを符号化するために参照する第２フレーム内のブロックに対する表示画面上における方向の統一度を評価する。そして、冗長度決定部１０５は、所定の表示範囲内における統一度の評価値が第１の評価値であり、且つ、変化量が第１の変化量の場合の冗長データのデータ数を、以下のように決定する。すなわち、統一度の評価値が第１の評価値よりも高い第２の評価値であり、且つ、変化量が第１の変化量の場合の冗長データのデータ数よりも多くなるように、所定の表示範囲の冗長データのデータ数を決定する。
【００８０】
このような処理を行うのは、以下の理由による。すなわち、所定の表示範囲内において動きの向きに統一性がない場合は、失われた動画像データの動きベクトルを、表示位置が隣接する動画像データの動きベクトルから推定しても、その推定が誤りである可能性が高くなる。従って、そのような推定結果に応じてエラー隠蔽処理を行った場合、本来再生されるべき映像と大きく異なった映像が表示されてしまう可能性が高い。一方、所定の表示範囲内において、動きの向きに統一性がある場合は、失われた動画像データの動きベクトルを表示位置が隣接する動画像データの動きベクトルから推定した場合、その推定結果の精度が高い可能性が高い。従って、そのような推定結果に応じてエラー隠蔽処理を行えば、本来再生されるべき映像に近い映像が表示される可能性が高い。このように、動きベクトルによる映像の変化量と共に、動きの方向の統一性によって誤り訂正符号化率を決定することで、より精度良くエラー隠蔽機能の有効性を評価することができる。
【００８１】
また、上記のような変化量の算出方法の他に、例えば、映像入力装置１０１から入力される映像を画像解析して変化量を算出しても良い。つまり、例えば、変化量検出部１０３が顔認識などの物体検知を行い、検知された物体がフレーム間において移動した量をフレームの変化量として算出する。即ち、変化量検出部１０３は、変化量を、所定の範囲内の映像から検出されるオブジェクトの表示画面上における大きさと、当該オブジェクトのフレーム間における移動量とに基づいて算出する。
【００８２】
変化量検出部１０３は、検出したオブジェクトの移動量から変化量を算出することで、誤り訂正符号化率をオブジェクトの移動量に応じて設定することができる。つまり、表示画面上のオブジェクトの移動量が大きい場合に、より誤り訂正符号化率を高く設定することができ、オブジェクト移動時の画質劣化の低減が期待できる。また、変化量検出部１０３は、検出したオブジェクトの移動量から変化量を算出することで、動きベクトルなどの動き情報を参照しなくても、変化量を算出することができる。
【００８３】
また、その他の方法として、映像入力装置１０１のパン、チルト、ズームなど、カメラの動き情報などを利用して変化量を検出することもできる。
【００８４】
即ち、変化量検出部１０３は、映像データに含まれる、撮影時における撮影機器の動き情報に応じて、変化量を算出する。
【００８５】
変化量検出部１０３は、カメラの動き情報を利用することで、より少ない計算量で、変化量を算出することができる。
【００８６】
尚、本実施形態の変化量検出部１０３は、変化量の算出と誤り訂正符号化率の決定をフレーム単位で行っているが、上述のように、複数フレーム単位（例えばＧＯＰ単位）で行うようにしても良い。
【００８７】
この場合、変化量検出部１０３は、映像データに対応する映像における所定の表示範囲内の映像のフレーム間における変化量を、複数フレーム分、合計する。そして、冗長度決定部１０５は、変化量の複数フレーム分の合計値が第１の値の場合、合計値が第２の値の場合より、所定の表示範囲の映像データに対する冗長データのデータ数が多くなるように、複数フレームの冗長データのデータ数を決定しても良い。ここで、第１の値及び第２の値は、上述のような方法で任意に設定される閾値であり、第２の値は第１の値よりも低い閾値である。
【００８８】
また、変化量の算出と誤り訂正符号化率の決定を、フレーム内の領域ごとに決定するようにしても良い。これについては、実施形態２で詳細に説明する。
【００８９】
また、送信装置１００は、受信装置４０２が行うエラー隠蔽処理の方法をあらかじめ取得するようにしても良い。つまり、送信装置１００の通信制御部１０８は、例えば、動画像データの送信を行う前に受信装置が行うエラー隠蔽の種類を問い合わせるための信号を受信装置４０２へ送信する。そして、変化量検出部１０３は、受信装置４０２から通知されるエラー隠蔽の種類によって、上述したエラー隠蔽の有効度を判断する方法を切り替えるようにしても良い。
【００９０】
＜実施形態２＞
次に、本発明の第２の実施形態について、第１の実施形態との差異を中心に説明する。
【００９１】
前述した第１の実施形態では、動画像のフレーム単位で変化量を検出し、各動画像フレーム単位で一律の誤り訂正符号化率を決定した。これに対して本実施形態では、１つの動画像フレームを変化量の大きい領域と小さい領域とに分割する。そして、それらの各領域に対してそれぞれ異なる誤り訂正符号化率を決定する。尚、送信装置１００の機能構成は、第１の実施形態と同様である。
【００９２】
図５は、本実施形態の動画像符号化部１０２により符号化される動画像フレームと、パケット生成部１０４により生成されるＲＴＰパケットと、誤り訂正符号化部１０７により生成されるＦＥＣパケット（冗長データ）の関係を時間経過と共に示した図である。
【００９３】
図中５０１〜５０３は動画像符号化部１０２により符号化された動画像の各フレームを示している。時刻ｔ０に符号化されたフレーム５０１はフレーム内符号化フレーム（Ｉ−ＶＯＰ）である。また、時刻ｔ１、ｔ２に符号化された各フレーム５０２、５０３はフレーム間予測符号化フレーム（Ｐ−ＶＯＰ）である。尚、時刻ｔ２以降にもフレームが存在するが、図５ではこれらのフレームは図示しない。
【００９４】
フレーム５０１〜５０３は、フレーム単位でパケット生成部１０４へ入力されてパケット化され、バッファ１０６へ記憶される。時刻ｔ１に符号化されたフレーム５０２は、８つのＲＴＰパケット５０４〜５１１にパケット化される。図３では、フレーム３０２、及びフレーム３０５が、それぞれ４つのＲＴＰパケットにパケット化されたが、本実施形態のフレーム５０２は、８つのＲＴＰパケットにパケット化されるものとする。尚、フレーム５０１、５０３と図示しないフレームもＲＴＰパケット化されるが、図５ではこれらのパケットは図示しない。
【００９５】
変化量検出部１０３は、フレーム５０２と、フレーム５０１との変化量をマクロブロック単位で検出する。尚、フレーム５０１は、フレーム５０２の参照フレームである。つまり、受信装置４０２は、フレーム５０２の動画像データがパケットロス等により失われた場合のエラー隠蔽処理を、フレーム５０１の動画像データを用いて行う。
【００９６】
変化量検出部１０３は、図２に示すフローチャートのＳ２０１において、ＲＴＰパケットごとに、マクロブロック単位で検出した変化量を合計する。即ち、変化量検出部１０３は、Ｓ２０１（算出手順）において、映像データに対応する映像における所定の表示範囲内の映像のフレーム間における変化量を算出する。
【００９７】
そして、冗長度決定部１０５は、ＲＴＰパケットごとに、Ｓ２０２〜Ｓ２０４の処理を実行し、変化量の合計値が所定の閾値よりも大きいパケット群と、合計値が所定の閾値よりも小さいパケット群とに分ける。つまり、Ｓ２０２において変化量が第１の閾値よりも高いと判断されるＲＴＰパケットと、第１の閾値よりも低いと判断されるＲＴＰパケットに分けられる。図５に示すように、フレーム５０２に対応するＲＴＰパケット５０４〜５１１は、変化量の合計値が第１の閾値よりも低いパケット群（ＲＴＰパケット５０４〜５０７）と、合計値が第１の閾値よりも高いパケット群（ＲＴＰパケット５０８〜５１１）に分かれる。尚、ＲＴＰパケット５０４〜５０７の変化量は、Ｓ２０４において、第２の閾値よりも低いと判断されたものとする。
【００９８】
冗長度決定部１０５は、変化量の合計値が低い領域に対応するパケット群（ＲＴＰパケット５０４〜５０７）に対しては、受信装置４０２のエラー隠蔽機能によりエラー処理するべく、例えば、誤り訂正符号化率を０％に決定する。すなわち、誤り訂正符号化部１０７は、ＲＴＰパケット５０４〜５０７からはＦＥＣパケットを生成しない。一方、冗長度決定部１０５は、変化量の合計値が高い領域に対応するパケット群（ＲＴＰパケット５０８〜５１１）に対しては、ＦＥＣデータ（冗長データ）によるエラー処理ができるように、誤り訂正符号化率を２０％に決定する。すなわち、誤り訂正符号化部１０７は、４つのＲＴＰパケット５０８〜５１１から１つのＦＥＣパケット５１２を生成する。
【００９９】
即ち、Ｓ２０３（決定手順）において、冗長度決定部１０５は、変化量が第１の値の場合、変化量が第１の値よりも小さい第２の値の場合より、所定の表示範囲の映像データに対する冗長データのデータ数が多くなるように、冗長データのデータ数を決定する。そして、Ｓ２０８（送信手順）において、通信制御部１０８は、決定された冗長データのデータ数に基づいて、冗長データを所定の表示範囲の映像の映像データとともに送信する。
【０１００】
以上説明したように、本実施形態の送信装置１００は、マクロブロック単位で変化量を検出し、動画像フレームを変化量の高い領域と低い領域に分ける。そして、それらの各領域に対して異なる誤り訂正符号化率を決定する。これにより、エラー隠蔽機能の有効度に応じて、誤り訂正符号化率を制御することができ、通信エラーが発生した場合にも動画像品質を維持しながら、通信帯域を効率的に利用することができる。また、本実施形態の送信装置１００によれば、フレーム内の領域ごとに誤り訂正符号化率を決定しているので、より上記の効果を得ることが可能となる。
【０１０１】
尚、本実施形態の変化量検出部１０３は、マクロブロック単位で変化量を検出するとしたが、これに限らない。すなわち、例えば、ピクセル単位、複数のマクロブロック単位、スライス単位、ビデオパケット（ＲＴＰパケット）単位など、誤り訂正符号化率をフレーム内の複数の領域ごとに決定できれば良い。エラー隠蔽処理の方法や変化量の検出方法に種々のバリエーションがあることは、実施形態１での説明と同様である。
【０１０２】
また、本実施形態では、Ｐ−ＶＯＰであるフレーム５０２の変化量に応じた誤り訂正符号化率の決定について説明したが、Ｉ−ＶＯＰであるフレーム５０１や、その他のフレームについても同様に誤り訂正符号化率の決定を行う。
【０１０３】
＜本発明に係る他の実施形態＞
前述の実施形態では、動画像データの符号化方式としてＭＰＥＧ−４方式を用い、符号化動画像データ転送プロトコルとしてＲＴＰを用いた。しかし、動画像データの符号化方式としてはＭＰＥＧ−４方式に限らず、例えばＭＰＥＧ−２やＨ．２６４など、予測符号化方式による符号化を行う類似の符号化方式を用いることができる。また、フレーム間の映像の差分や、同じフレームの隣接する表示範囲内の映像の差分に応じて誤り訂正符号化率を決定する構成は、非圧縮の動画像データやフレーム間の予測符号化を行わない符号化方式の動画像データを送信する場合にも適用することができる。さらに、同じフレームの隣接する表示範囲内の映像の差分に応じて誤り訂正符号化率を決定する構成は、静止画像の送信にも適用することが可能である。つまり、本発明は、ＭＰＥＧ−４方式に限らず、静止画像等を含む種々の映像データに適用することができる。また、データ転送プロトコルについても、ＲＴＰに限らずＴＣＰなど他の転送プロトコルを用いることが可能である。
【０１０４】
また、前述の実施形態では、送信装置１００が動画像データの符号化処理を行う機能を有していたが、動画像符号化部１０２と送信装置１００とが別々の装置であっても良い。
【０１０５】
また、前述の実施形態は、システム或いは装置のコンピュータ（或いはＣＰＵ、ＭＰＵ等）によりソフトウェア的に実現することも可能である。したがって、本発明の機能処理をコンピュータで実現するために、該コンピュータに供給、インストールされるコンピュータプログラム自体も本発明を実現するものである。つまり、本発明の機能処理を実現するためのコンピュータプログラム自体も本発明に含まれる。その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。
【０１０６】
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤなどを用いることができる。
【０１０７】
また、前述の実施形態は、システム或いは装置のコンピュータ（或いはＣＰＵ、ＭＰＵ等）によりソフトウェア的に実現することも可能である。したがって、本発明の機能処理をコンピュータで実現するために、該コンピュータに供給、インストールされるコンピュータプログラム自体も本発明を実現するものである。つまり、本発明の機能処理を実現するためのコンピュータプログラム自体も本発明に含まれる。その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。
【０１０８】
この場合、本発明の機能処理をコンピュータで実現するためのコンピュータプログラムは、記録媒体または有線／無線通信によりコンピュータに供給される。プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、磁気テープ等の磁気記録媒体、ＭＯ、ＣＤ、ＤＶＤ等の光／光磁気記憶媒体、不揮発性の半導体メモリなどがある。
【０１０９】
有線／無線通信を用いたプログラムの供給方法としては、コンピュータネットワーク上のサーバを利用する方法がある。この場合、本発明を形成するコンピュータプログラムとなりうるデータファイル（プログラムデータファイル）をサーバに記憶しておく。プログラムデータファイルとしては、実行形式のものであっても、ソースコードであってもよい。
【０１１０】
そして、このサーバにアクセスしたクライアントコンピュータに、プログラムデータファイルをダウンロードすることによって供給する。この場合、プログラムデータファイルを複数のセグメントファイルに分割し、セグメントファイルを異なるサーバに分散して配置することも可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムデータファイルをクライアントコンピュータに提供するサーバ装置も本発明に含む。
【０１１１】
また、本発明のコンピュータプログラムを暗号化して格納した記録媒体をユーザに配布し、所定の条件を満たしたユーザに、暗号化を解く鍵情報を供給し、ユーザの有するコンピュータへのインストールを可能とすることも可能である。鍵情報は例えばインターネットを介してホームページからダウンロードさせることによって供給することができる。
【０１１２】
また、コンピュータにより実施形態の機能を実現するためのコンピュータプログラムが、実施形態の機能を、すでにコンピュータ上で稼働するＯＳの機能を利用して実現しても良い。さらに、本発明を構成するコンピュータプログラムの少なくとも一部が、コンピュータに装着される拡張ボード等のファームウェアとして提供され、拡張ボード等が備えるＣＰＵを利用して前述の実施形態の機能を実現してもよい。
【０１１３】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【図面の簡単な説明】
【０１１４】
【図１】本発明の実施形態に係る送信装置１００の機能構成例を示すブロック図である。
【図２】本発明の実施形態の送信装置１００によるＦＥＣパケット生成処理手順の一例を示すフローチャートである。
【図３】第１の実施形態における動画像フレームと、ＲＴＰパケットと、ＦＥＣパケットの関係を示した図である。
【図４】本発明の実施形態におけるシステムの構成例を示す図である。
【図５】第２の実施形態における動画像フレームと、ＲＴＰパケットと、ＦＥＣパケットの関係を示した図である。
【符号の説明】
【０１１５】
１００  送信装置
１０２  動画像符号化部
１０３  変化量検出部
１０５  冗長度決定部
１０８  通信制御部
３０１〜３０６  動画像フレーム
３０７〜３１４  ＲＴＰパケット
３１５  ＦＥＣパケット
４０２  受信装置
５０１〜５０３  動画像フレーム
５０４〜５１１  ＲＴＰパケット
５１２  ＦＥＣパケット
【図１】
2010028736.tif 000003
【図２】
2010028736.tif 000004
【図３】
2010028736.tif 000005
【図４】
2010028736.tif 000006
【図５】
2010028736.tif 000007