(57)【要約】【課題】  データの欠損が発生しうる通信環境においてコンテンツデータを通信する場合の悪影響を低減する。【解決手段】  送信装置１０１から受信すべきコンテンツデータの欠損を検出し（Ｓ９０１）、当該欠損を冗長データに基づいて回復するか否かをコンテンツデータの処理量に応じて決定する（Ｓ９０４）。【選択図】  図９
2019047219.tif 000002
【特許請求の範囲】
【請求項１】
送信装置からコンテンツデータと冗長データを受信する受信手段と、
前記受信手段により受信されるべきコンテンツデータの欠損を検出する検出手段と、
前記検出手段により検出された欠損を前記受信手段により受信された冗長データに基づいて回復する回復手段と、
前記受信手段により受信されたコンテンツデータの処理量に応じて、前記回復手段による回復処理を制限する制御手段とを有する受信装置。
【請求項２】
前記コンテンツデータは、画像データ及びオーディオデータの少なくとも何れかが含まれ、前記コンテンツデータの処理量には、前記コンテンツデータの受信処理、復号処理、及び、表示制御処理の少なくとも何れかが含まれる請求項１に記載の受信装置。
【請求項３】
前記検出手段は、前記受信手段により受信されたパケットのシーケンスナンバーの連続性に基づいて欠損を検出する請求項１又は２に記載の受信装置。
【請求項４】
前記検出手段は、前記受信手段により受信されたコンテンツデータとしての画像データの解析により欠損を検出する請求項１又は２に記載の受信装置。
【請求項５】
前記受信手段により受信されたコンテンツデータを復号する復号手段と、
前記復号手段による復号済みのコンテンツデータを再生する再生手段とを有する請求項１乃至４のうち、何れか１項に記載の受信装置。
【請求項６】
前記制御手段は、前記検出手段により検出された欠損に対する回復処理の処理量と、前記受信手段により受信されたコンテンツデータの処理量と、の合計が所定の閾値を超える場合に、前記回復手段による回復処理を制限する請求項１乃至５のうち、何れか１項に記載の受信装置。
【請求項７】
前記検出手段により検出された欠損の発生量に応じて、前記送信装置により送信される冗長データに係る冗長度を変更する変更手段を有する請求項１乃至６のうち、何れか１項に記載の受信装置。
【請求項８】
前記冗長データに係る冗長度に応じて前記送信装置によるデータの送信レートを決定する決定手段と、
前記決定手段により決定された送信レートを前記送信装置へ通知する通知手段を有する請求項１乃至７のうち、何れか１項に記載の受信装置。
【請求項９】
前記冗長データに係る冗長度と、前記送信装置によるデータの送信レートとの関係を示すテーブルを保持する保持手段を有し、
前記決定手段は、前記受信手段が受信する前記冗長データの冗長度に対応する送信レートを、前記テーブルを参照することで決定する請求項８に記載の受信装置。
【請求項１０】
前記決定手段は、前記受信手段により受信される冗長データに基づく回復処理の処理量を変数とした演算を用いることによって、前記送信レートを決定する請求項８に記載の受信装置。
【請求項１１】
前記通知手段は、前記決定手段により決定される送信レートが所定の送信レート未満となると前記送信装置に対してエラー通知を行う請求項８乃至１０のうち、何れか１項に記載の受信装置。
【請求項１２】
送信装置からコンテンツデータと冗長データを受信する受信工程と、
前記受信工程により受信されるべきコンテンツデータの欠損を検出する検出工程と、
前記検出工程により検出された欠損を前記受信工程により受信された冗長データに基づいて回復する回復工程と、
前記受信工程により受信されたコンテンツデータの処理量に応じて、前記回復工程による回復処理を制限する制御工程とを有するデータの受信方法。
【請求項１３】
コンピュータに、請求項１２に記載のデータの受信方法を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データを受信する受信装置、データの受信方法、及びプログラムに関する。
【背景技術】
【０００２】
スマートフォンや無線機能付きカメラ等から通信ネットワークを介してコンテンツデータ（画像データやオーディオデータ等）をリアルタイムストリーミングすることがある。リアルタイム性が求められるデータ送信には、一般にＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）のような非同期伝送方式が用いられる。また、ＵＤＰによるデータ送信におけるデータの欠損を回復するために、送信装置から受信装置へ冗長データを送信する手法が知られている。
【０００３】
冗長データに基づいて誤り訂正を行う手法を開示した文献として特許文献１がある。特許文献１には、通信環境が悪いと判定された場合には、誤り訂正符号化部および誤り判定部の処理を停止させ、誤り訂正復号部に、入力データの誤り訂正復号を実行させることが記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−２５２７０９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、データの欠損の状況によっては、コンテンツの再生に悪影響を与える恐れがある。例えば、大量の欠損が発生し、その回復処理のためにリソースを使用した結果、正常に受信したコンテンツデータの復号処理が間に合わず、コンテンツの再生自体が停止してしまう等の恐れがある。
【０００６】
本発明は、上記の課題に鑑みてなされたものであり、その目的は、データの欠損が発生しうる通信環境においてコンテンツデータを通信する場合の悪影響を低減することである。
【課題を解決するための手段】
【０００７】
上記の課題を解決するために、本発明の受信装置は、例えば、以下の構成を有する。すなわち、送信装置からコンテンツデータと冗長データを受信する受信手段と、前記受信手段により受信されるべきコンテンツデータの欠損を検出する検出手段と、前記検出手段により検出された欠損を前記受信手段により受信された冗長データに基づいて回復する回復手段と、前記受信手段により受信されたコンテンツデータの処理量に応じて、前記回復手段による回復処理を制限する制御手段とを有する。
【発明の効果】
【０００８】
本発明によれば、データの欠損が発生しうる通信環境においてコンテンツデータを通信する場合の悪影響を低減できる。
【図面の簡単な説明】
【０００９】
【図１】実施形態におけるシステム構成図
【図２】実施形態における送信装置の機能構成図
【図３】実施形態における送信装置のハードウェア構成図
【図４】実施形態における受信装置の機能構成図
【図５】実施形態における受信装置のハードウェア構成図
【図６】実施形態におけるシーケンス図
【図７】実施形態におけるテーブル
【図８】実施形態における受信装置の動作を説明するためのフローチャート
【図９】実施形態における受信装置の動作を説明するためのフローチャート
【図１０】実施形態における送信装置の動作を説明するためのフローチャート
【発明を実施するための形態】
【００１０】
以下、添付の図面を参照して、本発明をその好適な実施形態に基づいて詳細に説明する。なお、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
【００１１】
図１は本実施形態におけるシステム構成を示す図である。送信装置１０１は受信装置１０３とネットワーク１０２を通じてデータを送受信する。本実施形態では処理性能のボトルネックは受信装置１０３にあるケースを想定している。すなわち、送信装置１０１のデータの送信性能およびネットワーク１０２の通信性能（データ転送性能を含む）よりも、受信装置１０３の処理性能のほうが劣るものとする。なお、システム構成は図１の例に限るものではなく、送信装置１０１や受信装置１０３が複数存在しても良いし、ネットワーク１０２が無線ネットワーク等であっても良い。
【００１２】
図２は本実施形態における送信装置１０１の機能構成を表すブロック図である。以下、各ブロックの機能を詳細に説明する。入力部１１００は、撮像部１１０１とエンコード部１１０２を有する。撮像部１１０１は、光学系を含む撮像装置を制御して撮像画像を取得する。エンコード部１１０２は、撮像部１１０１により取得された撮像画像を圧縮処理する。圧縮処理により得られた撮像画像（圧縮画像）は制御部１１１０に伝達される。
【００１３】
制御部１１１０は、入力部１１００から取得した撮像画像（圧縮画像）、及びネットワーク部１１３０により取得された外部装置（本実施形態の例では受信装置１０３）からの情報を処理する。また、制御部１１１０はこれらの処理の結果を表示部１１２０に表示させる。送信制御部１１１１は、パケタイズ部１１１４が撮像画像（圧縮画像）に基づいて生成したビデオパケットおよび冗長パケット部１１１３が生成した冗長パケットを、ネットワーク部１１３０を用いて受信装置１０３へ送信する。受信制御部１１１２は、ネットワーク部１１３０により受信装置１０３から取得したデータを処理する。
【００１４】
冗長パケット部１１１３は、品質管理部１１１５により指示された冗長パケット方式およびその冗長度に基づいて冗長パケットを生成する。冗長パケット部１１１３により生成された冗長パケットは送信制御部１１１１及びネットワーク部１１３０を用いて受信装置１０３へ送信される。
【００１５】
パケタイズ部１１１４は、入力部１１００から取得した撮像画像（圧縮画像）をネットワーク１０２経由で送信できるようパケット化する。パケタイズ部１１１４により生成されたパケット（ビデオパケット）は送信制御部１１１１及びネットワーク部１１３０を用いて受信装置１０３へ送信される。
【００１６】
品質管理部１１１５は、受信装置１０３からの通知情報に基づいて、送信装置１０１が送信するコンテンツデータの送信レート及び冗長データに係る冗長度を決定する。より具体的には、品質管理部１１１５は、欠損情報、及び／又は、処理可能ビットレート情報等の通知情報を受信装置１０３から取得する。なお本実施形態において欠損情報は、受信装置１０３におけるデータの欠損数、欠損率、又は回復実績等を示す情報であり、処理可能ビットレート情報とは受信装置１０３が処理可能なコンテンツデータのレートに関する情報である。そして、品質管理部１１１５は、受信装置１０３からの通知情報（欠損情報、及び／又は処理可能ビットレート情報）に基づいて、送信装置１０１が送信するコンテンツデータの送信レートや冗長データに係る冗長度を決定する。品質管理部１１１５は、決定した送信レートを必要に応じてエンコード部１１０２、パケタイズ部１１１４、及び／又は、送信制御部１１１１へ通知する。また、品質管理部１１１５は、決定した冗長度を必要に応じて冗長パケット部１１１３、及び／又は、送信制御部１１１１へ通知する。
【００１７】
表示部１１２０はパネル描画部１１２１を有する。パネル描画部１１２１は、制御部１１１０からの描画指示に基づいて表示装置（例えば液晶ディスプレイ）に画像を表示させる。ネットワーク部１１３０は他の通信装置（例えば受信装置１０３）と通信を行うためのインタフェースとして機能する。
【００１８】
本実施形態において、図２で示した各ブロックの機能は後述するＣＰＵ１２０２が、ＲＯＭ１２０３に格納されたプログラムをＲＡＭ１２０４に展開し、後述する各フローチャートに従った処理を実行することで実現される。ただし、図２で示したブロックのうち少なくとも一部の機能が専用のハードウェアを用いることによって実現されるようにしても良い。
【００１９】
図３は送信装置１０１のハードウェア構成を説明するためのブロック図である。中央処理装置（以下、ＣＰＵと称す）１２０２は、送信装置１０１の全体を制御し各種演算等を行う。ＲＯＭ１２０３は、一度書き込まれた情報を読み出すための記憶装置である。ＲＯＭ１２０３は、図２で示された各ブロックの機能を実現するためのプログラムが格納される。ＲＡＭ１２０４は、一時的にデータの書き込みと読み出しを行うための記憶装置である。ＲＡＭ１２０４には、各プログラムの実行により得られる一時的な値の記憶等を行う。
【００２０】
内蔵メモリ１２０５及び外部メモリ１２０９は、コンテンツデータを記憶するための外部記憶装置である。なお本実施形態ではコンテンツデータが画像データに基づくビデオコンテンツである場合の例を中心に説明するが、これに限らない。例えば、オーディオデータに基づくオーディオコンテンツであっても良いし、ビデオとオーディオの組み合わせであっても良い。また、字幕データおよびその他の各種データがコンテンツデータの一部として含まれていても良い。
【００２１】
撮像装置１２０６は、ＣＭＯＳセンサやＣＣＤセンサからなる光を電気信号に変換する装置であり、レンズ、センサ等を含む。通信ＩＦ１２１１は、送信装置１０１の外部（受信装置１０３）との間でデータを送受信するためのデバイスである。有線であればＥｔｈｅｒｎｅｔ等、無線であればＩＥＥＥ８０２．１１等いずれのネットワークインターフェイスが実装されても良い。
【００２２】
液晶パネル１２０７は、表示装置の一例として示した。なお、液晶パネルに限らず、例えば有機ＥＬや電子ペーパー等であってもよい。マイク１２１２は、撮像時に音声を収集するセンサである。スピーカー３１３は、ビデオコンテンツの再生時等に音声を再生するためのデバイスである。電源３１４は、送信装置１０１に電力を供給するためのデバイスであり、電池と充電装置を含む。
【００２３】
なお、送信装置１０１のハードウェア構成は図３の例に限らない。例えば、送信装置１０１が撮像装置１２０６を有していなくても良い。この場合、送信装置１０１は不図示の撮像装置やストレージサーバから撮像画像を取得すれば良い。また例えば、ＣＰＵ１２０２等のプロセッサーを複数備えるようにしても良い。また、送信装置１０１と液晶パネル１２０７（表示装置）は一体化されていなくても良い。また、送信装置１０１にマイク１２１２が不要であるケースも考えられる。
【００２４】
図４は本実施形態における受信装置１０３の機能構成を表すブロック図である。以下、各ブロックの機能を詳細に説明する。受信制御部３１１２は、ネットワーク部３１３０を通じて送信装置１０１から受信したビデオパケットを、デパケタイズ部３１１４に渡す。デパケタイズ部３１１４は、ビデオパケットから撮像画像（圧縮画像）を取得し、デコード部３１１６へ渡す。
【００２５】
デコード部３１１６は、撮像画像（圧縮画像）に対して復号処理を行うことで、撮像画像（復号済み）を取得し、それをパネル描画部３１２１に渡す。パネル描画部３１２１は、デコード部３１１６から取得した撮像画像（復号済み）に基づくビデオコンテンツを再生する。なお、ビデオコンテンツの再生と共にオーディオデータを再生する場合は、図４の各ブロックは撮像画像に係る処理と並行してオーディオデータに係る処理を行う。
【００２６】
また、品質管理部３１１５は、通知情報を（欠損情報、及び／又は、処理可能ビットレート情報）を生成し、送信制御部３１１１とネットワーク部３１３０とを介して送信装置１０１へ送信する。
【００２７】
また、デパケタイズ部３１１４は、送信装置１０１から受信すべきコンテンツデータの欠損を検出する。具体的には、デパケタイズ部３１１４は、送信装置１０１から取得した各ビデオパケットのシーケンスナンバーの連続性をチェックする。そして、シーケンスナンバーに抜けがあった場合に、コンテンツデータの欠損の発生を検出する。なお、コンテンツデータの欠損の検出方法は上記の方法に限らない。他の検出方法としては例えば、デコード部３１１６における復号処理時に画像データを解析することでデータの欠損が検出されるようにしても良い。より具体的には、画像データの復号処理後に特定のスライスの画像データが存在しない場合、当該スライスに係るビデオパケットが欠損していることが検出できる。
【００２８】
受信制御部３１１２は、ネットワーク部３１３０からデータを受信し、コンテンツデータ（ビデオパケット）であればデパケタイズ部３１１４へ、冗長データ（冗長パケット）であれば冗長パケット部３１１３へ渡す。
【００２９】
冗長パケット部３１１３は、受信制御部３１１２とネットワーク部３１３０とを介して送信装置１０１から取得した冗長パケットを用いることによって、上記の欠損を回復するための回復処理を行う。また、冗長パケット部３１１３は、送信装置１０１が送信する冗長パケットの冗長度が変更されたことを検出する。そして、冗長度の変更を検出した場合は、品質管理部３１１５に冗長度の更新を通知する。
【００３０】
また、デパケタイズ部３１１４は、欠損情報（受信装置１０３におけるデータの欠損数、欠損率、又は回復実績等を示す情報）を品質管理部３１１５に通知する。そして品質管理部３１１５は、デパケタイズ部３１１４から取得した欠損情報を送信制御部３１１１とネットワーク部３１３０を介して送信装置１０１へ通知する。また、品質管理部３１１５は、欠損情報に加えて、又は欠損情報に代えて、処理可能ビットレート情報（受信装置１０３が処理可能なコンテンツデータのレートに関する情報）を送信装置１０１に通知する。ネットワーク部３１３０は送信装置１０１と通信を行うためのインタフェースとして機能する。
【００３１】
本実施形態において、図４で示した各ブロックの機能は後述するＣＰＵ３２０２が、ＲＯＭ３２０３に格納されたプログラムをＲＡＭ３２０４に展開し、後述する各フローチャートに従った処理を実行することで実現される。ただし、図４で示したブロックのうち少なくとも一部の機能が専用のハードウェアを用いることによって実現されるようにしても良い。
【００３２】
図５は受信装置１０３のハードウェア構成を説明するためのブロック図である。受信装置１０３のハードウェア構成は送信装置１０１のそれと基本的には同じであるため詳細な説明は割愛する。なお本実施形態では、制御部３１１０の処理は、原則として１又は複数のＣＰＵ３２０２により実行される場合の例を中心に説明する。
【００３３】
次に、図７を用いて受信装置１０３の制御部３１１０の処理性能について説明する。テーブル７００は、受信装置１０３が処理可能なビットレート（処理可能ビットレート）と、欠損データ回復数（１画像フレームに対応する複数ビデオパケットのうち欠損しても回復可能なパケット数の情報）との関係を示している。テーブル７００は、縦軸が欠損データ回復数、横軸が処理可能ビットレートを表す。テーブル７００において「○」が記述されている欠損データ回復数と処理可能ビットレートの組み合わせは処理可能であり、「×」が記述されている欠損データ回復数と処理可能ビットレートの組み合わせは処理不可能であることを示している。
【００３４】
欠損データ回復数と処理可能ビットレートはトレードオフの関係にある。なぜなら、欠損データの回復のための回復処理と、正常に受信されたコンテンツデータの処理（例えば、受信処理、復号処理、及び表示制御処理）を行う制御部３１１０（ＣＰＵ３２０２）の処理リソースは共通であるためである。したがって、例えば回復処理を優先すると、復号処理が間に合わなくなるといった可能性がある。また、本実施形態では、回復処理とコンテンツデータの処理のほか、送信装置１０１に対して通知情報を送信するための処理も制御部３１１０（ＣＰＵ３２０２）の処理リソースにより実施される。
【００３５】
テーブル７００の例によれば、欠損データ回復数が「０」の場合（７０１）、処理可能ビットレートの最大値は１７Ｍｂｐｓ（７１７）であることがわかる。一方、欠損データ回復数が「１」の場合（７０２）、処理可能ビットレートの最大値は１６Ｍｂｐｓ（７１７）であることがわかる。
【００３６】
また、欠損データ回復数が「７」と極端に大きい場合（７０８）、処理可能ビットレートの最大値は１０Ｍｂｐｓ（７１０）まで下がる。例えば、欠損データ回復数が「７」であるにも関わらず、コンテンツデータの受信ビットレートが１１Ｍｂｐｓ（７１１）以上である場合、以下のような現象が起こりうる。すなわち、受信制御部１１１２が送信装置１０１からのビデオパケットを受け切れないといった現象や、品質管理部３１１５が送信すべき通知情報が送信装置１０１へ送信できないといった現象が起こりうる。本実施形態では、これらの現象が発生する可能性を低減するため、冗長度や送信ビットレートの制御が行われる。具体的な制御の方法についてはフローチャートを用いて後述する。
【００３７】
本実施形態では図７にて示すテーブル７００によって処理可能ビットレートの最大値と欠損データ回復数の対比を示した。しかしこの例に限らない。例えば、欠損データの回復処理に係る処理量（回復処理コスト）を変数とした演算によって処理可能ビットレートの最大値が得られるようにしても良い。なお、回復処理コストは、ＣＰＵ３２０２における欠損データの回復処理に使用する排他論理和の演算時間と、ＲＡＭ３２０４からＣＰＵ３２０２へのデータフェッチ時間とから算出可能である。また、処理可能ビットレートはＣＰＵ３２０２の受信パケット１つあたりに対する処理量から算出可能である。
【００３８】
なお、欠損データの最大回復数は冗長度によって決まる。したがって、送信装置１０１が高い冗長度で冗長パケットを送信した場合、欠損に対する耐性は上がる。しかしながら、冗長度を上げれば受信装置１０３における処理可能ビットレートは低減してしまう。すなわち、送信装置１０１は、適切な冗長度で冗長パケットを受信装置１０３に送信することが肝要である。そこで、本実施形態の送信装置１０１は、受信装置１０３からの通知情報に基づいて冗長度を制御する。冗長度の決定方法の詳細はフローチャートを用いて後述する。
【００３９】
図６は送信装置１０１と受信装置１０３との間のデータ通信のシーケンスの例を示している。受信装置１０３は、送信装置１０１へ処理可能ビットレートの最大値（上限レート）を通知する（６０１）。すなわち、受信装置１０３は、欠損データ回復数が「０」に対応する処理可能ビットレートの最大値である１７Ｍｂｐｓを送信装置１０１に対して通知する。通知の方法は例えばＳＩＰ（ｓｅｓｓｉｏｎ  ｉｎｉｔｉａｔｉｏｎ  ｐｒｏｔｏｃｏｌ）等を用いてＳＤＰ（Ｓｅｓｓｉｏｎ  ｄｅｓｃｒｉｐｔｉｏｎ  ｐｒｏｔｏｃｏｌ）を搬送し、ｂａｎｄｗｉｄｔｈ−ｖａｌｕｅとして通知してもよい。
【００４０】
送信装置１０１は、処理可能ビットレートの最大値の通知（６０１）を受け、ビデオパケット６１０および冗長パケット６０２を受信装置１０３に送信する。受信装置１０３は、冗長パケット６０２の受信を契機に図８にて後述する方法により、処理可能レートの最大値を決定し、受信装置１０３内のＲＡＭ３２０４に保持する値を更新する。例えば、ここで冗長パケット６０２の冗長度が欠損データ回復数「４」に対応する場合、図７によれば、処理可能レートの最大値は１３Ｍｂｐｓとなるため、これが変更後の処理可能レートとなる。
【００４１】
受信装置１０３は更新した処理可能レートを変更後の上限レートとして送信装置１０１に通知する（６０３）。なお、通知の方法は、ＳＤＰに下限ｂａｎｄｗｉｄｔｈ−ｖａｌｕｅを設定しても良い。
【００４２】
送信装置１０１は受信装置１０３から取得した変更後の処理可能レートに基づいて、コンテンツデータ及び冗長データの送信レートを変更する（６０８）。具体的には、送信装置１０１は、コンテンツデータ及び冗長データの送信レートの合計が、変更後の処理可能レートを超えないように制御する。これにより、仮に受信装置１０３における回復処理の負荷が最大になっても（この例においては１画像フレームに対応する複数のビデオパケットのうち、４つのビデオパケットが欠損しても）、ビデオコンテンツの再生を成功させることが期待できる。
【００４３】
送信装置１０１は、受信装置１０３から指定された送信レートに従ってコンテンツデータ（ビデオパケット）及び冗長データ（冗長パケット）を受信装置１０３に対して送信する。受信装置１０３は、送信装置１０１により送信されたビデオパケットから欠損を検出し、欠損の発生数とその回復実績を通知情報として送信装置１０１へ送信する（６０５）。
【００４４】
送信装置１０１は、受信装置１０３からの欠損情報に基づいて、欠損に対する回復処理に必要な冗長度を決定し、必要に応じて冗長度を変更する（６０９）。そして、送信装置１０１は変更後の冗長度により冗長パケットを受信装置１０３へ送信する（６０６）。
【００４５】
受信装置１０３は、ステップ６０２及び６０７と同様に、処理可能レートの最大値を更新し、更新後の処理可能レートを上限レートとして送信装置１０１に通知する。このように、欠損の状況に応じて冗長度を変更し、冗長度の変更に応じて処理可能レートの最大値を変更するという動作を動的に実行することにより、欠損の少ないコンテンツの再生が可能となる。
【００４６】
次に受信装置１０３の動作の詳細について、図８を用いて説明する。受信装置１０３の冗長パケット部３１１３は、送信装置１０１からの冗長パケットを受信すると（Ｓ８０１）、当該冗長パケットに対応する冗長度を判定する（Ｓ８０２）。そして、冗長パケット部３１１３は、判定された冗長度を変更するか否かを決定する（Ｓ８０３）。具体的には、冗長パケット部３１１３は、Ｓ８０２において判定された冗長度では欠損したビデオパケットを回復しきれない場合は冗長度を上げるべきと判定する。一方、冗長パケット部３１１３は、Ｓ８０２において判定された冗長度は過度であると判定した場合、冗長度を下げるべきと判定する。すなわち、冗長パケット部３１１３は、欠損の発生量に応じて、送信装置１０１が送信する冗長データに係る冗長度を変更する。冗長パケット部３１１３が冗長度を変更しないと決定した場合、Ｓ８０１に戻る。
【００４７】
一方、冗長パケット部３１１３が冗長度を変更すると判定した場合、欠損データ回復数を更新する（Ｓ８０４）。本実施形態では、便宜上、欠損データ回復数が画像フレーム単位で回復できる欠損データ数（ビデオパケット数）を表しているものとする。ただし、欠損データ数の定義は、冗長データの生成方式等により異なることに留意されたい。
【００４８】
冗長パケット部３１１３は、変更後の欠損データ回復数を品質管理部３１１５に通知する。品質管理部３１１５は、図７に説明したテーブル７００を参照することによって、変更後の欠損データ回復数に対応する処理可能ビットレートの最大値を取得する。品質管理部３１１５は取得した処理可能ビットレートの最大値を変更後の上限レートとしてＲＡＭ３２０４に書き込みを行う（８０５）。変更後の上限レートは、変更後の欠損データ回復数と同数のビデオパケットが欠損し、それらに対する回復処理を行ったとしても、受信処理が可能なビットレートを表している。
【００４９】
品質管理部３１１５は、変更後の上限レート（送信レート）が閾値以下であるか判定し（Ｓ８０６）、閾値以下であると判定した場合は、所定のエラー通知を送信装置１０１へ送信する（Ｓ８０８）。所定の閾値は欠損の回復処理にかかる時間と、フレームレートの逆数であるフレーム時間から算出できる。例えば、品質管理部３１１５は、欠損の回復処理がフレーム時間よりも長くなる場合には、エラー通知を行う。なお、エラー通知は送信装置１０１へ送信すると共に、受信装置１０３が有する表示部３１２０において表示させるようにしても良い。このようにすれば、ユーザがネットワークの通信設定の見直しや、再生コンテンツの変更を行うことができる。
【００５０】
品質管理部３１１５は、変更後の上限レートが所定の閾値よりも高い（つまり変更後の送信レートが所定の送信レート未満ではない）と判定した場合、変更後の上限レートを送信装置１０１に通知する（Ｓ８０７）。
【００５１】
次に、受信装置１０３における欠損の回復処理について図９を用いて詳細に説明する。受信装置１０３のデパケタイズ部３１１４は、送信装置１０１からビデオパケットを受信し、欠損を検出する（Ｓ９０１）。欠損が検出された場合、欠損情報が品質管理部３１１５に通知される。
【００５２】
また、冗長パケット部３１１３は、デパケタイズ部３１１４により検出された欠損に対する回復処理の実施が可能であるか否かを判定する。具体的には、欠損が発生したビデオパケットの数と、冗長度とに基づいて、回復処理の実施が可能であるか否かが判定される。Ｓ９０２にて回復処理の実施が不可能と判定された場合、品質管理部３１１５は送信装置１０１に対して欠損情報（受信装置１０３におけるデータの欠損数、欠損率、又は回復実績等を示す情報）を送信し、Ｓ９０１に戻る。
【００５３】
Ｓ９０２にて回復処理の実施が可能と判定された場合、冗長パケット部３１１３は、ＲＡＭ３２０４に保持された余力情報を判定する（Ｓ９０３）。余力情報により示される余力が閾値より大きい場合、冗長パケット部３１１３は、欠損に対する回復処理を実行する（Ｓ９０５）。一方、余力が閾値より小さい場合、回復処理をキャンセルする（Ｓ９０９）。余力が閾値よりも下回っているときに回復処理を行うと、正常なビデオパケットのための処理（受信処理や復号処理など）が行えなくなる可能性があるためである。回復処理をキャンセルすれば、ビデオコンテンツの一部が欠損した状態で再生されることになるが、ビデオコンテンツ自体の再生停止等からは免れる。また、回復処理をキャンセルすることで、品質管理部３１１５から送信装置１０１に対して欠損情報を送信することができる（Ｓ９１１）。
【００５４】
なお、Ｓ９０９の処理は、送信装置１０１から受信したコンテンツデータの処理量に応じて、回復処理を制限すると表現することもできる。コンテンツデータのビットレートが高いと結果として余力が足りなくなり、回復処理がキャンセルされることになるためである。また、Ｓ９０９の処理は、余力と閾値との比較に基づいて回復処理を行うか否かを決定しているが、これに限らない。例えば、送信装置１０１からのコンテンツデータの処理量と、欠損に対する回復処理のための処理量の合計値と閾値との比較によって、回復処理を実行するか否かを決めるようにしても良い。
【００５５】
冗長パケット部３１１３は回復処理を実行すると、ＲＡＭ３２０４に保持される余力情報を更新する。具体的には、余力情報が示す余力を減算する。品質管理部３１１５は更新後の余力が閾値を下回った場合、処理系のリソース調整を実施する。これは使用するＣＰＵ３２０２のクロックを増加させたり、ＲＡＭ３２０４の高速性能部分の使用量を増やしたりといった処理を行うものであるが、その他の処理リソースの追加処理を行うものでも良い。このように、普段は低リソースで処理を実行し、高負荷時にリソースの追加を行うことで、受信装置１０３の消費電力を低減できるなどの効果がある。ただしＳ９１０の処理は必須ではない。
【００５６】
Ｓ９０７において余力が閾値を下回らないと判定された場合、及び、Ｓ９１０の後、品質管理部３１１５は、通知情報（欠損情報、及び／又は処理可能ビットレート情報）を送信装置１０１に対して送信する（Ｓ９１１）。
【００５７】
次に図１０を用いて送信装置１０１の動作を詳細に説明する。送信装置１０１の受信制御部１１１２は、受信装置１０３から処理可能ビットレートの最大値（上限レート）を取得する（Ｓ１００１）。品質管理部１１１５は取得した上限レートに基づいて、現状の送信レートを変更すべきか判定する（Ｓ１００２）。具体的には、現状の送信レートが上限レートよりも高い場合は、現状の送信レートを下げるべきと判定される。また、品質管理部１１１５は、現状の送信レートが上限レートよりも著しく低い場合は、現状の送信レートを上げるべきと判定する。
【００５８】
品質管理部１１１５は、現状の送信レートを変更すべきと判定した場合、エンコード部１１０２に変更指示を出力する。エンコード部１１０２は変更指示に応じてコンテンツデータの圧縮率等を変更することでビットレートの変更を行う（１００６）。
【００５９】
また、受信制御部１１１２は、受信装置１０３から欠損情報（受信装置１０３におけるデータの欠損数、欠損率、又は回復実績等を示す情報）を受信すると、そのデータを冗長パケット部１１１３に渡す（Ｓ１００３）。そして、冗長パケット部１１１３は、受信装置１０３からの欠損情報に基づいて、冗長度を変更すべきか否かを判定する（Ｓ１００４）。例えば冗長パケット部１１１３は、現在の冗長度では回復しきれない数の欠損が発生している場合、冗長度を上げるべきと判定する。一方、冗長パケット部１１１３は、欠損が発生していないにも関わらず高い冗長度が設定されている場合は、冗長度を下げるべきと判定する。このように、冗長パケット部１１１３は、受信装置１０３において検出された欠損の発生量に応じて、送信装置１０１が送信する冗長データに係る冗長度を変更する。
【００６０】
冗長パケット部１１１３は、冗長度を変更すべきと判定すると、新しい冗長度に従って冗長パケットを生成する（１００５）。冗長パケット部１１１３が冗長度の変更が必要ないと判定した場合はＳ１００１に戻る。
【００６１】
本発明は、上述の実施形態の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【図１】
2019047219.tif 000003
【図２】
2019047219.tif 000004
【図３】
2019047219.tif 000005
【図４】
2019047219.tif 000006
【図５】
2019047219.tif 000007
【図６】
2019047219.tif 000008
【図７】
2019047219.tif 000009
【図８】
2019047219.tif 000010
【図９】
2019047219.tif 000011
【図１０】
2019047219.tif 000012