JP5682292B2 - 映像配信装置及び映像配信方法 - Google Patents

映像配信装置及び映像配信方法 Download PDF

Info

Publication number
JP5682292B2
JP5682292B2 JP2010284887A JP2010284887A JP5682292B2 JP 5682292 B2 JP5682292 B2 JP 5682292B2 JP 2010284887 A JP2010284887 A JP 2010284887A JP 2010284887 A JP2010284887 A JP 2010284887A JP 5682292 B2 JP5682292 B2 JP 5682292B2
Authority
JP
Japan
Prior art keywords
data
packet
video
retransmission request
error correction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2010284887A
Other languages
English (en)
Other versions
JP2012134758A (ja
Inventor
中田 茂樹
茂樹 中田
泰孝 梅元
泰孝 梅元
誠二 松尾
誠二 松尾
麻里 川原
麻里 川原
俊幸 浅野
俊幸 浅野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2010284887A priority Critical patent/JP5682292B2/ja
Publication of JP2012134758A publication Critical patent/JP2012134758A/ja
Application granted granted Critical
Publication of JP5682292B2 publication Critical patent/JP5682292B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Description

本発明は、映像配信装置及び映像配信方法に関する。
映像データをリアルタイムで配信する場合には、パケットロスによる再送を抑制するエラー訂正方法が用いられる。誤り訂正方法の一例としては、送信時に冗長なデータを付加した上で送信することにより、受信側で未到着となったデータを冗長なデータから復元する前方誤り訂正、いわゆるFEC(Forward Error Correction)が使用される。
かかるFECを用いる技術の一例としては、ネットワークを介して端末に送信するデータに付加するFECを送信レートの増加に伴って増加させるデータ伝送サーバが挙げられる。他の一例としては、再送方式による使用帯域と冗長符号方式による使用帯域とメディアデータの使用帯域との和の送信帯域が一定となるように、各使用帯域を適応的に制御するメディア伝送装置が挙げられる。
このようにデータパケットにFECパケットを付加して配信する技術の他、データパケットを先行して配信した上でFECパケットを後続して送信する技術もある。一例としては、データ配信端末がリターンを伴わない片方向の同報配信を複数の受信端末に実行する場合に用いられるデータ同報配信方法が挙げられる。このデータ同報配信方法では、データ配信端末が配信データに続けて誤り訂正用チェックデータを同報配信する。一方、受信端末は、データ配信端末から受信した受信データを誤り訂正用チェックデータと結合した上で誤り訂正を実行する。
特開2001−333061号公報 特開2004−289621号公報 特開2005−064648号公報
しかしながら、上記の従来技術では、映像データのリアルタイム配信にマルチキャスト(multicast)を使用する場合に、映像データを効率よく再送することができないという問題がある。
例えば、上記のデータ伝送サーバ及びメディア伝送装置の場合には、受信端末から再送要求を受け付ける度に、映像データがマルチキャストグループに含まれる全ての受信端末に再送される。このため、上記のデータ伝送サーバ及びメディア伝送装置では、エラーが発生していない受信端末にも映像データを重複して再送することになる。よって、上記のデータ伝送サーバ及びメディア伝送装置では、映像データを重複して再送することにより、送信端末及びネットワークのリソースが無駄に消費されてしまう。
また、上記のデータ同報配信方法の場合には、データ配信端末によって生成された誤り訂正用チェックデータが受信端末におけるエラーの有無によらず、受信端末に同報配信される。このため、上記のデータ同報配信方法では、受信端末でエラーが発生していない場合にも、配信データが受信端末に重複して同報配信される。さらに、上記のデータ同報配信方法では、誤り訂正用チェックデータだけで映像データが復元できない場合に、誤り訂正用チェックデータに加えて、配信データを改めて再送せねばならない。よって、上記のデータ同報配信方法においても、上記のデータ伝送サーバ及びメディア伝送装置と同様に、送信端末及びネットワークのリソースが無駄に消費されてしまう。
開示の技術は、上記に鑑みてなされたものであって、映像データを効率よく再送できる映像配信装置及び映像配信方法を提供することを目的とする。
本願の開示する映像配信装置は、マルチキャストアドレスが設定された映像ストリームを送信する第1の送信部を有する。さらに、前記映像配信装置は、前記マルチキャストアドレスに含まれる複数の受信端末と自装置との間における往復遅延時間を取得する取得部を有する。さらに、前記映像配信装置は、前記複数の端末から前記映像ストリームに含まれるデータパケットの再送要求を受け付ける受付部を有する。さらに、前記映像配信装置は、前記再送要求が受け付けられたデータパケットの送信時刻から前記往復遅延時間のうち最大の往復遅延時間が少なくとも経過した後に、前記端末で映像ストリームを再現するのに必要なパケットを送信する第2の送信部を有する。
本願の開示する映像配信装置の一つの態様によれば、映像データを効率よく再送できるという効果を奏する。
図1は、実施例1に係る映像配信システムの構成を示す図である。 図2は、実施例1に係るエンコーダの構成を示すブロック図である。 図3は、FEC情報記憶部に記憶される情報の構成例を示す図である。 図4は、FEC情報記憶部に記憶される情報の構成例を示す図である。 図5は、RTT記憶部に記憶される情報の構成例を示す図である。 図6は、RTT記憶部に記憶される情報の構成例を示す図である。 図7は、再送要求記憶部に記憶される情報の構成例を示す図である。 図8は、受付状況記憶部に記憶される情報の構成例を示す図である。 図9は、再送要求合計値のデクリメントを説明するための図である。 図10は、実施例1に係る第1の送信処理の手順を示すフローチャートである。 図11は、実施例1に係る第2の送信処理の手順を示すフローチャートである。 図12は、デコーダにおけるパケットの受信順序の一例を示す図である。 図13は、デコーダにおけるパケットの受信順序の一例を示す図である。 図14は、デコーダにおけるパケットの受信順序の一例を示す図である。 図15は、実施例2に係る映像配信プログラムを実行するコンピュータの一例について説明するための図である。
以下に、本願の開示する映像配信装置及び映像配信方法の実施例を図面に基づいて詳細に説明する。なお、この実施例は開示の技術を限定するものではない。そして、各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
[システム構成]
図1は、実施例1に係る映像配信システムの構成を示す図である。図1に示すように、映像配信システム1は、エンコーダ10と、カメラ20と、デコーダ30A〜30Cと、表示装置40A〜40Cとが収容される。なお、図1の例では、カメラ20によって撮像された映像データをエンコーダ10からデコーダ30A〜30Cへリアルタイムで配信する場合を想定する。
これらエンコーダ10及びデコーダ30A〜30Cの間は、ネットワーク3を介して互いに通信可能に接続される。かかるネットワーク3の一態様としては、インターネット(Internet)、LAN(Local Area Network)やVPN(Virtual Private Network)などの通信網が挙げられる。なお、図1の例では、デコーダ30A〜30Cを3つ収容する場合を例示したが、少なくともデコーダを1つ収容していればよく、任意の数のデコーダが収容される場合に適用できる。
このうち、カメラ20は、映像を撮像する撮像装置である。かかるカメラ20の一例としては、CCD(Charge Coupled Device)やCMOS(Complementary Metal Oxide Semiconductor)などの撮像装置が挙げられる。このカメラ20によって撮像された映像データはエンコーダ10へ出力される。
エンコーダ10は、カメラ20によって出力された映像データをエンコードする装置である。このエンコーダ10は、エンコード後の映像データをデコーダ30A〜30Cに配信する。このとき、エンコーダ10は、デコーダ30A〜30Cが参加するマルチキャストグループに付与されるマルチキャストアドレスが設定された映像ストリームをネットワーク3へ送信することにより、映像データをデコーダ30A〜30Cへマルチキャストする。なお、図1の例では、メディアデータの伝送方式としてRTP(Realtime Transport Protocol)を採用する場合を説明するが、他の伝送方式を採用することとしてもかまわない。
このようにしてエンコーダ10が配信する映像は、予め指定された領域を監視するために撮像された監視映像であってもよいし、また、視聴者に向けて発せられる放送であってもよい。また、図1の例では、カメラ20がエンコーダ10に映像データを供給する場合を例示したが、必ずしも映像データがカメラ20によって供給される必要はない。例えば、所定の読取装置を介して、フレキシブルディスク、いわゆるFD、CD−ROM、DVDディスク、光磁気ディスク、ICカードなどの記録媒体から、映像データを取得することとしてもよい。
デコーダ30A〜30Cは、エンコーダ10によって配信された映像データをデコードする装置である。このデコーダ30A〜30Cは、デコード後の映像データを表示装置40A〜40Cで再生させる。なお、以下では、デコーダ30A〜30Cを区別せずに総称する場合に「デコーダ30」と総称することとする。
これらエンコーダ10のエンコード機能及びデコーダ30A〜30Cのデコード機能は、ソフトウェアによって実現してもよいし、また、LSI(Large Scale Integration)等の集積回路によって実現することとしてもよい。
表示装置40A〜40Cは、デコーダから供給される映像を表示する表示デバイスである。かかる表示装置40A〜40Cの一例としては、モニタ(monitor)、ディスプレイ(display)やタッチパネル(touch panel)などの表示デバイス全般を適用できる。なお、以下では、表示装置40A〜40Cを区別せずに総称する場合に「表示装置40」と総称することとする。
ここで、本実施例に係るエンコーダ10は、マルチキャストアドレスが設定された映像ストリームを送信する。また、本実施例に係るエンコーダ10は、マルチキャストアドレスに含まれる複数のデコーダ30A〜30Cと自装置との間における往復遅延時間を取得する。また、本実施例に係るエンコーダ10は、複数のデコーダ30A〜30Cから映像ストリームに含まれるデータパケットの再送要求を受け付ける。さらに、本実施例に係るエンコーダ10は、再送要求が受け付けられたデータパケットの送信時刻から最大の往復遅延時間が少なくとも経過した後に、デコーダ30A〜30Cで映像ストリームを再現するのに必要なパケットを送信する。
このように、本実施例に係るエンコーダ10は、映像ストリームをマルチキャストする場合にデータパケットのみを先行して配信し、映像ストリームの再現に必要なパケットを再送する。このため、本実施例に係るエンコーダ10では、映像ストリームの再現にエンコーダ10から再送されるパケットが必要ない場合には、配信先のデコーダ30A〜30Cにパケットは送信しない。よって、本実施例に係るエンコーダ10によれば、映像データを効率よく再送することが可能になる。
さらに、本実施例に係るエンコーダ10は、配信先のデコーダ30A〜30Cとの間の最大往復遅延時間を待ってから映像ストリームの再現に必要なパケットを再送する。このため、本実施例に係るエンコーダ10では、デコーダ30A〜30Cの再送要求が全て届いたと推定される時点で再送できる。それゆえ、本実施例に係るエンコーダ10によれば、デコーダ30A〜30Cから再送要求が届ききらずにパケットを再送することにより、一部のデコーダ30でパケットの再送漏れが発生する事態を防止できる。また、本実施例に係るエンコーダ10によれば、デコーダ30A〜30Cから再送要求を受け付けてからパケットを再送するまでの時間が過度に引き延ばされることにより、パケットの再送に遅延が生じる事態も防止できる。
[エンコーダ10の構成]
続いて、本実施例に係るエンコーダ10の構成について説明する。図2は、実施例1に係るエンコーダの構成を示すブロック図である。図2に示すように、エンコーダ10は、映像バッファ11aと、符号化部11と、FECバッファ12aと、FEC情報記憶部12bと、生成部12と、RTT記憶部13aと、取得部13と、再送要求記憶部14aと、受付部14とを有する。さらに、エンコーダ10は、受付状況記憶部15aと、判定部15と、第1の送信部16と、第2の送信部17とを有する。
このうち、映像バッファ11aは、後述の符号化部11によって符号化された映像データを蓄積するバッファ(buffer)である。このようにして映像バッファ11aに蓄積された映像データは、後述の第1の送信部16によってデコーダ30A〜30Cにマルチキャストされる。なお、映像バッファ11aに蓄積された映像データは任意の契機で削除できる。例えば、映像データが全てのデコーダ30A〜30Cに受信されたことが確認された時点で削除することとしてもよいし、また、タイマーにより所定の時間が計測された時点で削除することとしてもよい。
かかる映像バッファ11aの一例としては、VRAM(Video Random Access Memory)、RAM(Random Access Memory)、ROM(Read Only Memory)やフラッシュメモリ(flash memory)などの半導体メモリ素子を採用できる。他の一例として、映像バッファ11aには、ハードディスク、光ディスクなどの記憶装置を採用することとしてもかまわない。
符号化部11は、カメラ20によって出力された映像データを符号化する処理部である。この符号化部11は、符号化した映像データを映像バッファ11aに格納する。かかる圧縮符号化方式の一例としては、MPEG(Moving Picture Experts Group phase)2やMPEG4などの任意の圧縮方式を採用できる。
FECバッファ12aは、後述の生成部12によって符号化データから生成されたFEC(Forward Error Correction)データを蓄積するバッファである。このようにしてFECバッファ12aに蓄積されたFECデータは、後述の判定部15による指示の下、後述の第2の送信部17によってデコーダ30A〜30Cにマルチキャストされる。
かかるFECバッファ12aの一例としては、VRAM(Video Random Access Memory)、RAM(Random Access Memory)、ROM(Read Only Memory)やフラッシュメモリ(flash memory)などの半導体メモリ素子を採用できる。他の一例として、FECバッファ12aには、ハードディスク、光ディスクなどの記憶装置を採用することとしてもかまわない。
FEC情報記憶部12bは、後述の生成部12によって生成されたFECデータに関する管理情報を記憶する記憶部である。一例として、FEC情報記憶部12bは、再送の要否を判定するタイミングが適切であるか否かを判断するために、後述の判定部15によって参照される。
かかる管理情報の一態様としては、FEC番号、開始映像番号、終了映像番号、FECデータの生成時刻及びFECパケットの判定時刻が対応付けられたデータを採用できる。ここで言う「FEC番号」とは、FECデータに付与されたシーケンス番号を指す。また、「映像番号」とは、映像ストリームに含まれる1フレームの映像データに付与されたシーケンス番号を指す。また、「開始映像番号」とは、FECデータを生成するのに使用された映像データの映像番号のうち最も小さい映像番号を指す。また、「終了映像番号」とは、FECデータを生成するのに使用された映像データの映像番号のうち最も大きい映像番号を指す。また、「生成時刻」とは、FECデータが生成された時刻を指す。また、「判定時刻」とは、後述の第2の送信部17によってFECデータをデコーダ30A〜30Cに送信させる必要があるか否かを後述の判定部15に判定させる時刻を指す。
図3及び図4は、FEC情報記憶部に記憶される情報の構成例を示す図である。図3の例では、映像番号1〜映像番号4の映像データを使用して生成されたFEC番号1のFECデータに関する管理情報が登録された場合を示す。また、図4の例では、映像番号5〜映像番号8の映像データを使用して生成されたFEC番号2のFECデータに関する管理情報がさらに追加して登録された場合を示す。これら図3及び図4の例では、4つの映像データにつき1つのFECデータが生成され、FECデータが1つの映像データを復元可能である場合を想定する。なお、図3及び図4の例では、4つの映像データにつき1つのFECデータを生成する場合を例示するが、FECデータの生成に使用する映像データの数は任意であってもよい。
図3に示す例では、FEC番号1のFECデータが生成時刻「2010/06/01 10:00:00.123」に映像番号1〜映像番号4の映像データから生成されたことを示す。さらに、FEC番号1のFECデータの場合には、後述の第2の送信部17によってFEC番号1のFECデータをデコーダ30A〜30Cに送信させる必要があるか否かを判定時刻「2010/06/01 10:00:00.243」に後述の判定部15に判定させることを示す。図4に示す例では、FEC番号2のFECデータが生成時刻「2010/06/01 10:00:00.678」に映像番号5〜映像番号8の映像データから生成されたことを示す。さらに、FEC番号2のFECデータの場合には、後述の第2の送信部17によってFEC番号2のFECデータをデコーダ30A〜30Cに送信させる必要があるか否かを判定時刻「2010/06/01 10:00:00.751」に後述の判定部15に判定させることを示す。なお、後述の判定部15による送信要否の判定が終了したレコードの値はゼロに初期化される。また、上記の管理情報は、必ずしもテーブル形式で格納される必要はなく、他の形式で格納することとしてもかまわない。
生成部12は、映像ストリームのうち所定のフレーム数にわたって連続する映像データからFECデータを生成する処理部である。一例としては、生成部12は、映像ストリームのうち連続する4フレームの映像データのビット単位で排他的論理和(XOR:eXclusive OR)を算出することにより、FECデータのパリティ情報を生成する。
例えば、映像番号1〜映像番号4の映像データを用いてFEC番号1のFECデータを生成する場合を想定する。この場合には、FEC番号1のFECデータの先頭ビットは、映像番号1の映像データの先頭ビット、映像番号2の映像データの先頭ビット、映像番号3の映像データの先頭ビット及び映像番号4の映像データの先頭ビットをそれぞれ加算することにより算出される。同様にして、FECデータの2番目のビットからN番目のビットが算出される。このようにして、生成部12は、映像番号1〜映像番号4の映像データからFEC番号1のFECデータを生成する。
RTT記憶部13aは、往復遅延時間、いわゆるRTT(Round Trip Time)を記憶する記憶部である。一例として、RTT記憶部13aは、FECデータの生成時刻からFECデータの判定時刻を決定するために生成部12によって参照される。なお、RTT記憶部13aには、後述の取得部13によって取得された往復遅延時間が登録される。
一態様として、RTT記憶部13aは、自装置と各デコーダ30との間における往復遅延時間を記憶する。図5及び図6は、RTT記憶部に記憶される情報の構成例を示す図である。図5の例では、FEC番号1のFECデータが生成された時点における往復遅延時間を示す。また、図6の例では、FEC番号2のFECデータが生成された時点における往復遅延時間を指す。なお、図5及び図6の例では、デコーダ30AのIPアドレスが「10.0.0.1」であり、デコーダ30BのIPアドレスが「10.0.0.2」であり、また、デコーダ30CのIPアドレスが「10.0.0.3」であるものとする。
図5に示す例で言えば、エンコーダ10とデコーダ30Aとの間における往復遅延時間が「98(ms)」であることを示す。さらに、エンコーダ10とデコーダ30Bとの間における往復遅延時間が「71(ms)」であることを示す。さらに、エンコーダ10とデコーダ30Cとの間における往復遅延時間が「120(ms)」であることを示す。また、図6に示す例で言えば、エンコーダ10とデコーダ30Aとの間における往復遅延時間が「66(ms)」であることを示す。さらに、エンコーダ10とデコーダ30Bとの間における往復遅延時間が「73(ms)」であることを示す。さらに、エンコーダ10とデコーダ30Cとの間における往復遅延時間が「69(ms)」であることを示す。
取得部13は、自装置と各デコーダ30との間における往復遅延時間を取得する処理部である。一例としては、取得部13は、所定の期間、例えば5分間が経過する度に、往復遅延時間の計測を指示するパケットを各デコーダ30に送信する。その上で、取得部13は、デコーダ30A〜30Cによってそれぞれ計測された往復遅延時間を受信し、各デコーダ30A〜30Cの往復遅延時間をRTT記憶部13aの該当フィールドに上書きする。これによって、取得部13は、RTT記憶部13aに記憶される各デコーダ30の往復遅延時間を更新する。なお、ここでは、取得部13が往復遅延時間を主体的に収集する場合を例示したが、デコーダ30がエンコーダ10から再送されたパケットの往復遅延時間を計測してエンコーダ10にアップロードすることとしてもよい。
ここで、図3〜図6を用いて、生成部12によるFECデータの判定時刻の決定方法を説明する。生成部12は、映像データからFECデータを生成する度に、FECデータの生成時刻と、RTT記憶部13aに記憶された往復遅延時間とを用いて、FECデータの判定時刻を決定する。なお、図5及び図6に示した往復遅延時間の網掛け部分は、デコーダ30A〜30Cの中で最大の往復遅延時間を示す。
図3に示すように、FEC番号1のFECデータが生成時刻「2010/06/01 10:00:00.123」に生成された場合には、生成部12は、図5に示した各デコーダ30の往復遅延時間のうち最大値を持つデコーダ30Cの往復遅延時間「120(ms)」を生成時刻に加算する。これによって、生成部12は、図3に示した判定時刻「2010/06/01 10:00:00.243」を算出する。また、図4に示すように、FEC番号2のFECデータが生成時刻「2010/06/01 10:00:00.678」に生成された場合には、生成部12は、図6に示した各デコーダ30の往復遅延時間のうち最大値を持つデコーダ30Bの往復遅延時間「73(ms)」を生成時刻に加算する。これによって、生成部12は、図4に示した判定時刻「2010/06/01 10:00:00.751」を算出する。
このように、生成部12は、RTT記憶部13aに記憶された各デコーダ30の往復遅延時間のうち最大の往復遅延時間をFECデータの生成時刻に加算することにより、FECデータの判定時刻を決定する。これによって、生成部12は、デコーダ30A〜30Cから再送要求が届ききらいない段階で後述の第2の送信部17によってパケットが再送されることを防止する。さらに、生成部12は、デコーダ30A〜30Cから再送要求を受け付けてからパケットを再送するまでの時間が過度に引き延ばされることを防止する。
図2の説明に戻り、再送要求記憶部14aは、デコーダ30ごとにFECデータが復元対象とする映像データに関する再送要求の有無を記憶する記憶部である。一例として、再送要求記憶部14aは、後述の第2の送信部17に送信させるパケットの有無、さらに、送信させる場合にはパケットの内訳を決定するための後述の受付状況記憶部15aを生成するために、後述の判定部15によって参照される。なお、再送要求記憶部14aには、デコーダ30から再送要求が受け付けられた場合にその旨を示す情報が後述の受付部14によって登録される。
一態様として、再送要求記憶部14aは、デコーダ30のIPアドレスと、各映像番号の再送要求の有無とが対応付けられたデータを記憶する。図7は、再送要求記憶部に記憶される情報の構成例を示す図である。この図7の例では、映像番号のフィールドに記憶されている「0」は、デコーダ30から再送要求が受け付けられていないことを示し、映像番号のフィールドに記憶される「1」は、デコーダ30から再送要求が受け付けられたことを示す。また、図7の例では、図5及び図6と同様に、デコーダ30AのIPアドレスが「10.0.0.1」であり、デコーダ30BのIPアドレスが「10.0.0.2」であり、また、デコーダ30CのIPアドレスが「10.0.0.3」であるものとする。
図7に示す例で言えば、デコーダ30Aから映像番号1及び映像番号3の映像データの再送要求を受け付けたことを示す。さらに、デコーダ30Bから映像番号2の映像データの再送要求を受け付けたことを示す。さらに、デコーダ30Cから映像番号1の映像データの再送要求を受け付けたことを示す。なお、各映像番号のフィールドの初期値は、「0」であり、後述の受付部14によって再送要求が受け付けられた場合に「0」が「1」に更新される。
受付部14は、デコーダ30A〜30Cから映像データの再送要求を受け付ける処理部である。一例として、受付部14は、デコーダ30から再送要求を受け付けた場合に、再送要求記憶部14aに記憶されたフィールドのうち、再送要求を行ったデコーダ30及び再送要求が行われた映像データの映像番号に該当するフィールドを「0」から「1」に更新する。
受付状況記憶部15aは、FECデータごとにそのFECデータが復元対象とする映像データに関するデコーダ30からの再送要求の受付状況を記憶する記憶部である。一例として、受付状況記憶部15aは、後述の第2の送信部17に送信させるパケットの有無、さらに、送信させる場合にはパケットの内訳を決定するために、後述の判定部15によって参照される。なお、受付状況記憶部15aは、再送要求記憶部14aによってデコーダ30ごとに記憶された各映像番号の再送要求の有無を用いて後述の判定部15によって生成される。
一態様として、受付状況記憶部15aは、FECデータのFEC番号と、FECデータが復元対象とする映像データ別の再送要求合計値とが対応付けられたデータを記憶する。ここで言う「再送要求合計値」とは、1つの映像データに関し、デコーダ30A〜30Cから受け付けた再送要求の合計値を指す。
図8は、受付状況記憶部に記憶される情報の構成例を示す図である。図8に示す映像番号のフィールドに記憶されている値は、上記の再送要求合計値を指す。図8に示す例で言えば、FEC番号1のFECデータが復元対象とする映像番号1〜4の映像データのうち、エンコーダ10が映像番号1の再送要求を2つのデコーダ30から受け付けていることを示す。さらに、エンコーダ10が映像番号2の再送要求を1つのデコーダ30から受け付けていることを示す。さらに、エンコーダ10が映像番号3の再送要求を1つのデコーダ30から受け付けていることを示す。
判定部15は、後述の第1の送信部16によってマルチキャストされた映像データのうち、後述の第2の送信部17に再送させるパケットの有無、さらに、再送させる場合にはそのパケットの内訳を決定する処理部である。
これを説明すると、判定部15は、図示しないタイムスタンプから得られる現時刻がFEC情報記憶部12bに記憶されたFECデータの判定時刻に至ったか否かを監視する。図3に示す例で言えば、判定部15は、FEC番号1のFECデータの判定時刻「2010/06/01 10:00:00.243」になるまで待機し、現時刻が判定時刻「2010/06/01 10:00:00.243」に至った段階で次のような処理を起動する。
すなわち、判定部15は、図示しないタイムスタンプから得られる現時刻がFECデータの判定時刻になった場合に、再送要求記憶部14aを用いて、受付状況記憶部15a内における各映像番号ごとの再送要求合計値を生成する。
ここで、図7及び図8を用いて、FEC番号1のFECデータが復元対象とする映像番号1〜4の再送要求合計値を生成する場合を説明する。このうち、映像番号1の映像データについては、デコーダ30A及びデコーダ30Cから再送要求を受け付けている一方で、デコーダ30Bからは再送要求を受け付けていない。よって、判定部15は、デコーダ30A〜30Cの再送要求を合計することにより算出した映像番号1の再送要求合計値「2」を受付状況記憶部15aに書き込む。また、映像番号2の映像データについては、デコーダ30Bから再送要求を受け付けている一方で、デコーダ30A及びデコーダ30Cからは再送要求を受け付けていない。よって、判定部15は、デコーダ30A〜30Cの再送要求を合計することにより算出した映像番号2の再送要求合計値「1」を受付状況記憶部15aに書き込む。また、映像番号3の映像データについては、デコーダ30Aから再送要求を受け付けている一方で、デコーダ30B及びデコーダ30Cからは再送要求を受け付けていない。よって、判定部15は、デコーダ30A〜30Cの再送要求を合計することにより算出した映像番号3の再送要求合計値「1」を受付状況記憶部15aに書き込む。また、映像番号4の映像データについては、デコーダ30A〜30Cのいずれからも再送要求を受け付けていない。よって、判定部15は、デコーダ30A〜30Cの再送要求を合計することにより算出した映像番号4の再送要求合計値「0」を受付状況記憶部15aに書き込む。
そして、判定部15は、各映像番号の再送要求合計値の論理和がゼロよりも大きいか否かを判定する。つまり、判定部15は、各映像番号の再送要求合計値のうち少なくともいずれか1つがゼロよりも大きいか否かを判定する。図8の例で言えば、映像番号1、映像番号2及び映像番号3の再送要求合計値がいずれもゼロより大きいので、判定部15によって各映像番号の再送要求合計値の論理和がゼロよりも大きいと判定される。
このとき、判定部15は、各映像番号の再送要求合計値の論理和がゼロよりも大きい場合に、各映像番号の再送要求合計値を1つずつデクリメントする。図9は、再送要求合計値のデクリメントを説明するための図である。図9に示すように、判定部15は、FEC番号1のFECデータが復元対象とする映像番号1の再送要求合計値「2」を1つデクリメントして「1」に更新する。さらに、判定部15は、FEC番号1のFECデータが復元対象とする映像番号2の再送要求合計値「1」を1つデクリメントして「0」に更新する。さらに、判定部15は、FEC番号1のFECデータが復元対象とする映像番号3の再送要求合計値「1」を1つデクリメントして「0」に更新する。さらに、判定部15は、FEC番号1のFECデータが復元対象とする映像番号4の再送要求合計値「0」を1つデクリメントして「−1」に更新する。
その後、判定部15は、デクリメント後の各映像番号の再送要求合計値の論理和がゼロであるか否かを判定する。つまり、判定部15は、デクリメント後の各映像番号の再送要求合計値すべてがゼロであるか否かを判定する。図9の例で言えば、映像番号1の再送要求合計値がゼロよりも大きいので、判定部15によってデクリメント後の各映像番号の再送要求合計値の論理和がゼロよりも大きいと判定される。
第1の送信部16は、映像バッファ11aに蓄積された符号化データをデコーダ30A〜30Cに送信する処理部である。かかる第1の送信部16は、デコーダ30A〜30Cが参加するマルチキャストグループに付与されるマルチキャストアドレスを映像データのヘッダに設定した上でその映像データをネットワーク3へ送信する。これによって、第1の送信部16は、映像データをデコーダ30A〜30Cへマルチキャストする。
第2の送信部17は、映像バッファ11a及びFECバッファ12aを用いて、デコーダ30で映像ストリームを再現するのに必要なパケットを送信する処理部である。
例えば、デクリメント後の各映像番号の再送要求合計値の論理和がゼロである場合には、デコーダ30A〜30CにFECデータさえ送信すればデコーダ30側でエラーが検出された映像データを復元できる。よって、第2の送信部17は、FECバッファ12aからFECデータだけを取り出してデコーダ30にマルチキャストする。
また、デクリメント後の各映像番号の再送要求合計値の論理和がゼロよりも大きい場合には、デコーダ30A〜30CにFECデータだけを送信したとしてもデコーダ30側でエラーが検出された映像データ全て復元できない。よって、第2の送信部17は、FECデータをデコーダ30にマルチキャストするとともに符号化データをデコーダ30にマルチキャストする。このとき、第2の送信部17は、デクリメント後の再送要求合計値がゼロよりも大きい映像番号に対応する符号化データを映像バッファ11aから取り出して送信すればよい。
また、デクリメント前の各映像番号の再送要求合計値の論理和がゼロである場合には、デコーダ30側でエラーが検出された映像データがない。よって、第2の送信部17は、FECデータ及び符号化データともに送信しない。
このように、映像ストリームをマルチキャストする場合にデータパケットのみを先行して配信し、映像ストリームの再現に必要なパケットを後続して再送させた場合でも、FECデータや再送の符号化データがデコード30の再成に間に合わない事態は防止できる。一例として、エンコーダ10がデータパケットにFECパケットを挿入する間隔やデコーダ30A〜30Cが映像データを受信してから再生するまでにバッファリングする時間などのパラメータをデコーダ30側又はエンコーダ10側で適切に設定すればよい。
なお、符号化部11、生成部12、取得部13、受付部14、判定部15、第1の送信部16及び第2の送信部17には、各種の集積回路や電子回路を採用できる。例えば、集積回路としては、ASIC(Application Specific Integrated Circuit)が挙げられる。また、電子回路としては、CPU(Central Processing Unit)やMPU(Micro Processing Unit)などが挙げられる。
また、FEC情報記憶部12b、RTT記憶部13a、再送要求記憶部14a及び受付状況記憶部15aには、半導体メモリ素子や記憶装置を採用できる。例えば、半導体メモリ素子としては、VRAM(Video Random Access Memory)、RAM(Random Access Memory)、ROM(Read Only Memory)やフラッシュメモリ(flash memory)などが挙げられる。また、記憶装置としては、ハードディスク、光ディスクなどの記憶装置が挙げられる。
[処理の流れ]
次に、本実施例に係るエンコーダ10の処理の流れについて説明する。なお、ここでは、第1の送信部16によって実行される(1)第1の送信処理について説明した後に、第2の送信部17によって実行される(2)第2の送信処理について説明することとする。
(1)第1の送信処理
図10は、実施例1に係る第1の送信処理の手順を示すフローチャートである。この第1の送信処理は、エンコーダ10の電源がON状態である場合に繰り返し実行される処理であり、カメラ20から映像データが入力される度に処理が起動する。
図10に示すように、カメラ20から映像データが入力されると(ステップS101肯定)、符号化部11は、カメラ20から入力された映像データを符号化する(ステップS102)。続いて、符号化部11は、映像データを符号化した符号化データを映像バッファ11aに蓄積させる(ステップS103)。
このとき、映像バッファ11aに所定のフレーム数の符号化データが蓄積されると(ステップS104肯定)、生成部12は、所定のフレーム数にわたって連続する映像データを映像バッファ11aから取り出してFECデータを生成する(ステップS105)。なお、映像バッファ11aに所定のフレーム数の符号化データが蓄積されていない場合(ステップS104否定)には、FECデータの生成を実行せずに、ステップS108に移行する。
そして、生成部12は、ステップS105で生成したFECデータのFEC番号、FECデータの生成に使用された映像データの開始映像番号、終了映像番号とともに、FECデータの生成時刻をFEC情報記憶部12bに設定する(ステップS106)。
続いて、生成部12は、FECデータの生成時刻と、RTT記憶部13aに記憶された最大の往復遅延時間とをもとに決定したFECデータの判定時刻をFEC情報記憶部12bに設定する(ステップS107)。
そして、第1の送信部16は、映像バッファ11aに蓄積された符号化データをデコーダ30A〜30Cにマルチキャストし(ステップS108)、上記のステップS101に移行する。その後、エンコーダ10は、カメラ20から映像データが入力される度に、上記のステップS102〜ステップS108の処理を再帰的に繰り返し実行する。
(2)第2の送信処理
図11は、実施例1に係る第2の送信処理の手順を示すフローチャートである。この第2の送信処理は、エンコーダ10の電源がON状態である場合に繰り返し実行される処理であり、時刻がFEC情報記憶部12bに記憶されたFECデータの判定時刻に至る度に処理が起動する。
図11に示すように、時刻がFECデータの判定時刻になると(ステップS301肯定)、判定部15は、再送要求記憶部14aを用いて、受付状況記憶部15a内における各映像番号ごとの再送要求合計値を生成する(ステップS302)。
そして、判定部15は、各映像番号の再送要求合計値の論理和がゼロよりも大きいか否かを判定する(ステップS303)。このとき、各映像番号の再送要求合計値の論理和がゼロである場合(ステップS303否定)には、デコーダ30側でエラーが検出された映像データがない。よって、FECデータ及び符号化データともに送信されずに、ステップS301に移行する。
一方、各映像番号の再送要求合計値の論理和がゼロよりも大きい場合(ステップS303肯定)には、判定部15は、各映像番号の再送要求合計値を1つずつデクリメントする(ステップS304)。続いて、判定部15は、デクリメント後の各映像番号の再送要求合計値の論理和がゼロであるか否かを判定する(ステップS305)。
ここで、デクリメント後の各映像番号の再送要求合計値の論理和がゼロである場合(ステップS305肯定)には、デコーダ30A〜30CにFECデータさえ送信すればデコーダ30側でエラーが検出された映像データを復元できる。よって、第2の送信部17は、FECバッファ12aからFECデータだけを取り出してデコーダ30にマルチキャストし(ステップS306)、再送要求記憶部14a及び受付状況記憶部15aを初期化した上で(ステップS307)ステップS301に移行する。
一方、デクリメント後の各映像番号の再送要求合計値の論理和がゼロよりも大きい場合(ステップS305否定)には、デコーダ30A〜30CにFECデータだけを送信したとしてもデコーダ30側でエラーが検出された映像データ全て復元できない。よって、第2の送信部17は、FECデータをデコーダ30にマルチキャストするとともに符号化データをデコーダ30にマルチキャストする(ステップS308)。その後、第2の送信部17は、再送要求記憶部14a及び受付状況記憶部15aを初期化した上で(ステップS307)ステップS301に移行する。
[実施例1の効果]
上述してきたように、本実施例に係るエンコーダ10は、映像ストリームをマルチキャストする場合にデータパケットのみを先行して配信し、映像ストリームの再現に必要なパケットを再送する。このため、本実施例に係るエンコーダ10では、映像ストリームの再現にエンコーダ10から再送されるパケットが必要ない場合には、配信先のデコーダ30A〜30Cにパケットは送信しない。よって、本実施例に係るエンコーダ10によれば、映像データを効率よく再送することが可能である。
さらに、本実施例に係るエンコーダ10は、配信先のデコーダ30A〜30Cとの間の最大往復遅延時間を待ってから映像ストリームの再現に必要なパケットを再送する。このため、本実施例に係るエンコーダ10では、デコーダ30A〜30Cの再送要求が全て届いたと推定される時点で再送することが可能である。それゆえ、本実施例に係るエンコーダ10によれば、デコーダ30A〜30Cから再送要求が届ききらずにパケットを再送することにより、一部のデコーダ30でパケットの再送漏れが発生する事態を防止できる。また、本実施例に係るエンコーダ10によれば、デコーダ30A〜30Cから再送要求を受け付けてからパケットを再送するまでの時間が過度に引き延ばされることにより、パケットの再送に遅延が生じる事態も防止できる。
また、本実施例に係るエンコーダ10は、FECパケットが復元対象とするデータパケットの再送要求が受け付けられなかった場合にはパケットを送信しない。図12は、デコーダにおけるパケットの受信順序の一例を示す図である。図12の例では、エンコーダ10が映像番号1〜映像番号Nの順に映像データのデータパケットを送信する場合を想定する。図12に示すように、デコーダ30A〜30Cは、FEC番号1のFECパケットが復元対象とする映像番号1〜映像番号4のデータパケットを全て正常に受信する。この場合には、エンコーダ10の第2の送信部17によってFECパケットもデータパケットも再送されない。よって、FECパケットやデータパケットにより、ネットワーク3のリソース、エンコーダ10及びデコーダ30A〜30Cのリソースが無駄に消費されることを防止できる。
また、本実施例に係るエンコーダ10は、再送要求を受け付けたデータパケットの数がFECパケットを用いて復元可能な数である場合にはそのFECパケットを送信する。図13は、デコーダにおけるパケットの受信順序の一例を示す図である。図13の例では、図12の例と同様に、エンコーダ10が映像番号1〜映像番号Nの順に映像データのデータパケットを送信する場合を想定する。なお、図13の例では、デコーダ30でエラーが検出されたパケットを斜線の塗りつぶしで表記し、第2の送信部17によって送信されるFECパケットを黒の塗り潰しで表記する。図13に示すように、デコーダ30Aでは、FEC番号1のFECパケットが復元対象とする映像番号1〜映像番号4のデータパケットのうち映像番号3のデータパケットにエラーが検出される。また、デコーダ30Bでは、映像番号2のデータパケットにエラーが検出される。また、デコーダ30Cでは、映像番号1のデータパケットにエラーが検出される。この場合には、各デコーダ30でFEC番号1のFECパケットが復元可能な数しかデータパケットのエラーが検出されない。このため、エンコーダ10の第2の送信部17によってFEC番号1のFECパケットだけが各デコーダ30にマルチキャストされる。よって、ネットワーク3に送出するパケットを最小限に留めることができる。
また、本実施例に係るエンコーダ10は、再送要求を受け付けたデータパケットの数がFECパケットを用いて復元不能な数である場合にはそのFECパケットを送信するとともにデータパケットを再送する。図14は、デコーダにおけるパケットの受信順序の一例を示す図である。図14の例では、図13の例と同様に、エンコーダ10が映像番号1〜映像番号Nの順に映像データのデータパケットを送信する場合を想定する。なお、図14の例では、デコーダ30でエラーが検出されたパケットを斜線の塗りつぶしで表記し、第2の送信部17により送信されるFECパケットを黒の塗り潰しで表記し、第2の送信部17により再送されるデータパケットを点による塗りつぶしで表記する。図14に示すように、デコーダ30Aでは、FEC番号1のFECパケットが復元対象とする映像番号1〜映像番号4のデータパケットのうち映像番号1及び映像番号3のデータパケットにエラーが検出される。また、デコーダ30Bでは、映像番号2のデータパケットにエラーが検出される。また、デコーダ30Cでは、映像番号1のデータパケットにエラーが検出される。この場合には、デコーダ30AでFEC番号1のFECパケットが復元不能な数のエラーが検出される。このため、エンコーダ10の第2の送信部17によってFEC番号1のFECパケットとともに映像番号1のデータパケットが各デコーダ30にマルチキャストされる。よって、デコーダ30Aでエラーが検出された映像番号1及び映像番号3のデータパケットを再現できる。
したがって、本実施例に係るエンコーダ10によれば、上記の3つの状況に応じてパケットの再送を適切に実行できる。
さて、これまで開示の装置に関する実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、本発明に含まれる他の実施例を説明する。
[機能の分散及び統合]
また、図示した各装置の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、符号化部11、生成部12、取得部13、受付部14、判定部15、第1の送信部16又は第2の送信部17をエンコーダ10の外部装置としてネットワーク経由で接続するようにしてもよい。また、符号化部11、生成部12、取得部13、受付部14、判定部15、第1の送信部16又は第2の送信部17を別の装置がそれぞれ有し、ネットワーク接続されて協働することで、上記のエンコーダ10の機能を実現するようにしてもよい。
[映像配信プログラム]
また、上記の実施例で説明した各種の処理は、予め用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。そこで、以下では、図15を用いて、上記の実施例と同様の機能を有する映像配信プログラムを実行するコンピュータの一例について説明する。
図15は、実施例2に係る映像配信プログラムを実行するコンピュータの一例について説明するための図である。図15に示すように、実施例2におけるコンピュータ100は、操作部110aと、マイク110bと、カメラ110cと、ディスプレイ120と、通信部130とを有する。さらに、このコンピュータ100は、CPU150と、ROM160と、HDD(Hard Disk Drive)170と、RAM(Random Access Memory)180と有する。これら110〜180の各部はバス140を介して接続される。
HDD170には、図15に示すように、上記の実施例1で示した符号化部11と、生成部12と、取得部13と、受付部14と、判定部15と、第1の送信部16と、第2の送信部17と同様の機能を発揮する映像配信プログラム170aが予め記憶される。この映像配信プログラム170aについては、図2に示した各々の符号化部11、生成部12、取得部13、受付部14、判定部15、第1の送信部16及び第2の送信部17の各構成要素と同様、適宜統合又は分離しても良い。すなわち、HDD170に格納される各データは、常に全てのデータがHDD170に格納される必要はなく、処理に必要なデータのみがHDD170に格納されれば良い。
そして、CPU150が、映像配信プログラム170aをHDD170から読み出してRAM180に展開する。これにより、図15に示すように、映像配信プログラム170aは、映像配信プロセス180aとして機能する。この映像配信プロセス180aは、HDD170から読み出した各種データを適宜RAM180上の自身に割り当てられた領域に展開し、この展開した各種データに基づいて各種処理を実行する。なお、映像配信プロセス180aは、例えば、図2に示した符号化部11、生成部12、取得部13、受付部14、判定部15、第1の送信部16及び第2の送信部17にて実行される処理、例えば図10に示す処理を含む。なお、CPU150上で仮想的に実現される各処理部は、常に全ての処理部がCPU150上で動作する必要はなく、処理に必要な処理部のみが仮想的に実現されれば良い。
なお、上記の映像配信プログラム170aについては、必ずしも最初からHDD170やROM160に記憶させておく必要はない。例えば、コンピュータ100に挿入されるフレキシブルディスク、いわゆるFD、CD−ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に各プログラムを記憶させる。そして、コンピュータ100がこれらの可搬用の物理媒体から各プログラムを取得して実行するようにしてもよい。また、公衆回線、インターネット、LAN、WANなどを介してコンピュータ100に接続される他のコンピュータまたはサーバ装置などに各プログラムを記憶させておき、コンピュータ100がこれらから各プログラムを取得して実行するようにしてもよい。
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)マルチキャストアドレスが設定された映像ストリームを送信する第1の送信部と、
前記マルチキャストアドレスに含まれる複数の受信端末と自装置との間における往復遅延時間を取得する取得部と、
前記複数の端末から前記映像ストリームに含まれるデータパケットの再送要求を受け付ける受付部と、
前記受付部によって再送要求が受け付けられたデータパケットの送信時刻から前記取得部によって取得された往復遅延時間のうち最大の往復遅延時間が少なくとも経過した後に、前記端末で映像ストリームを再現するのに必要なパケットを送信する第2の送信部と
を有することを特徴とする映像配信装置。
(付記2)前記映像ストリームのうち所定のパケット数にわたって連続するデータパケットから前方誤り訂正用のパケットを生成する生成部をさらに有し、
前記第2の送信部は、前記前方誤り訂正用のパケットが復元対象とするデータパケットの再送要求が受け付けられなかった場合にはパケットを送信せず、前記再送要求が受け付けられたデータパケットの数が前記前方誤り訂正用のパケットを用いて復元可能な数である場合には当該前方誤り訂正用のパケットを送信し、前記再送要求が受け付けられたデータパケットの数が前記前方誤り訂正用のパケットを用いて復元不能な数である場合には当該前方誤り訂正用のパケットを送信するとともにデータパケットを再送することを特徴とする付記1に記載の映像配信装置。
(付記3)コンピュータが、
マルチキャストアドレスが設定された映像ストリームを送信し、
前記マルチキャストアドレスに含まれる複数の受信端末と自装置との間における往復遅延時間を取得し、
前記複数の端末から前記映像ストリームに含まれるデータパケットの再送要求を受け付け、
前記再送要求が受け付けられたデータパケットの送信時刻から前記往復遅延時間のうち最大の往復遅延時間が少なくとも経過した後に、前記端末で映像ストリームを再現するのに必要なパケットを送信する処理
を実行することを特徴とする映像配信方法。
(付記4)コンピュータが、
前記映像ストリームのうち所定のパケット数にわたって連続するデータパケットから前方誤り訂正用のパケットを生成する処理をさらに実行し、
前記前記端末で映像ストリームを再現するのに必要なパケットを送信する処理として、前記前方誤り訂正用のパケットが復元対象とするデータパケットの再送要求が受け付けられなかった場合にはパケットを送信せず、前記再送要求が受け付けられたデータパケットの数が前記前方誤り訂正用のパケットを用いて復元可能な数である場合には当該前方誤り訂正用のパケットを送信し、前記再送要求が受け付けられたデータパケットの数が前記前方誤り訂正用のパケットを用いて復元不能な数である場合には当該前方誤り訂正用のパケットを送信するとともにデータパケットを再送する処理を実行することを特徴とする付記3に記載の映像配信方法。
(付記5)コンピュータに、
マルチキャストアドレスが設定された映像ストリームを送信し、
前記マルチキャストアドレスに含まれる複数の受信端末と自装置との間における往復遅延時間を取得し、
前記複数の端末から前記映像ストリームに含まれるデータパケットの再送要求を受け付け、
前記再送要求が受け付けられたデータパケットの送信時刻から前記往復遅延時間のうち最大の往復遅延時間が少なくとも経過した後に、前記端末で映像ストリームを再現するのに必要なパケットを送信する処理
を実行させることを特徴とする映像配信プログラム。
1 映像配信システム
3 ネットワーク
10 エンコーダ
11a 映像バッファ
11 符号化部
12a FECバッファ
12b FEC情報記憶部
12 生成部
13a RTT記憶部
13 取得部
14a 再送要求記憶部
14 受付部
15a 受付状況記憶部
15 判定部
16 第1の送信部
17 第2の送信部
20 カメラ
30A,30B,30C デコーダ
40A,40B,40C 表示装置

Claims (2)

  1. マルチキャストアドレスが設定された映像ストリームを送信する第1の送信部と、
    前記マルチキャストアドレスに含まれる複数の受信端末及び自装置の間における往復遅延時間を記憶する記憶部と、
    前記複数の受信端末から往復遅延時間を取得する取得部と、
    前記記憶部に記憶された往復遅延時間のうち前記取得部によって取得された受信端末に関する往復遅延時間を更新する更新部と、
    前記映像ストリームのうち所定のパケット数にわたって連続するデータパケットから前方誤り訂正用のパケットを生成する生成部と、
    前記複数の受信端末から前記映像ストリームに含まれるデータパケットの再送要求を受け付ける受付部と、
    前記生成部による前方誤り訂正用のパケットの生成時間と、前記記憶部に記憶された往復遅延時間のうち最大の往復遅延時間とから、前記データパケットの送信後に前方誤り訂正用のパケットまたは前方誤り訂正用のパケットと再送のデータパケットの追加送信の要否を判定するタイミングを決定する決定部と、
    前記決定部によって決定されたタイミングにしたがって前記データパケットの再送要求を受け付けられたか否か、前記再送要求が受け付けられたデータパケットの数が前方誤り訂正用のパケットを用いて復元可能な数であるか否かを判定する判定部と、
    前記前方誤り訂正用のパケットが再現対象とするデータパケットの再送要求が受け付けられなかった場合にパケットを送信せず、前記再送要求が受け付けられたデータパケットの数が前記前方誤り訂正用のパケットを用いて復元可能な数である場合に当該前方誤り訂正用のパケットを送信し、前記再送要求が受け付けられたデータパケットの数が前記前方誤り訂正用のパケットを用いて復元不能な数である場合に当該前方誤り訂正用のパケットを送信するとともにデータパケットを再送する第2の送信部と
    を有することを特徴とする映像配信装置。
  2. コンピュータが、
    マルチキャストアドレスが設定された映像ストリームを送信し、
    前記マルチキャストアドレスに含まれる複数の受信端末から往復遅延時間を取得し、
    前記複数の受信端末及び自装置の間における往復遅延時間を記憶する記憶部に記憶された往復遅延時間のうち前記取得された受信端末に関する往復遅延時間を更新し、
    前記映像ストリームのうち所定のパケット数にわたって連続するデータパケットから前方誤り訂正用のパケットを生成し、
    前記複数の受信端末から前記映像ストリームに含まれるデータパケットの再送要求を受け付け、
    前記前方誤り訂正用のパケットの生成時間と、前記記憶部に記憶された往復遅延時間のうち最大の往復遅延時間とから、前記データパケットの送信後に前方誤り訂正用のパケットまたは前方誤り訂正用のパケットと再送のデータパケットの追加送信の要否を判定するタイミングを決定し、
    決定されたタイミングにしたがって前記データパケットの再送要求を受け付けられたか否か、前記再送要求が受け付けられたデータパケットの数が前方誤り訂正用のパケットを用いて復元可能な数であるか否かを判定し、
    前記前方誤り訂正用のパケットが再現対象とするデータパケットの再送要求が受け付けられなかった場合にパケットを送信せず、前記再送要求が受け付けられたデータパケットの数が前記前方誤り訂正用のパケットを用いて復元可能な数である場合に当該前方誤り訂正用のパケットを送信し、前記再送要求が受け付けられたデータパケットの数が前記前方誤り訂正用のパケットを用いて復元不能な数である場合に当該前方誤り訂正用のパケットを送信するとともにデータパケットを再送する
    処理を実行することを特徴とする映像配信方法。
JP2010284887A 2010-12-21 2010-12-21 映像配信装置及び映像配信方法 Expired - Fee Related JP5682292B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010284887A JP5682292B2 (ja) 2010-12-21 2010-12-21 映像配信装置及び映像配信方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010284887A JP5682292B2 (ja) 2010-12-21 2010-12-21 映像配信装置及び映像配信方法

Publications (2)

Publication Number Publication Date
JP2012134758A JP2012134758A (ja) 2012-07-12
JP5682292B2 true JP5682292B2 (ja) 2015-03-11

Family

ID=46649822

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010284887A Expired - Fee Related JP5682292B2 (ja) 2010-12-21 2010-12-21 映像配信装置及び映像配信方法

Country Status (1)

Country Link
JP (1) JP5682292B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016001773A (ja) * 2014-06-11 2016-01-07 日本電信電話株式会社 データ転送システム、送信機、受信機、プログラム及びデータ転送方法
JP6592775B2 (ja) * 2015-02-23 2019-10-23 古野電気株式会社 ファイル送受信システム、および、ファイル送受信方法
JP7435753B2 (ja) * 2020-04-27 2024-02-21 日本電信電話株式会社 コンテンツ配信システム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3127440B2 (ja) * 1995-10-23 2001-01-22 日本電信電話株式会社 誤り回復装置
JP4277411B2 (ja) * 2000-02-23 2009-06-10 ソニー株式会社 マルチキャスト通信システム及びマルチキャスト通信方法、データ通信装置及びデータ通信方法、並びに、マルチキャスト通信システムにおける待ちフレーム数の自動設定方法
JP2002374302A (ja) * 2001-06-15 2002-12-26 Ntt Docomo Inc Rtt測定方法、及び、rtt測定システム

Also Published As

Publication number Publication date
JP2012134758A (ja) 2012-07-12

Similar Documents

Publication Publication Date Title
JP4405875B2 (ja) エラー訂正用データの生成方法及び生成装置並びに生成プログラム及び同プログラムを格納したコンピュータ読み取り可能な記録媒体
KR101242663B1 (ko) 패킷 송신 장치, 통신 시스템 및 컴퓨터 판독가능한 기록매체
CN101861709B (zh) 用于具有合并的自动重复请求的自适应前向纠错以在无线局域网中进行可靠多播的方法和装置
JP5084362B2 (ja) データ送信装置、及びデータ送受信システム
US9781488B2 (en) Controlled adaptive rate switching system and method for media streaming over IP networks
US7663665B2 (en) Communication device and method for transferring video-stream data to a display device and a storage device
JP4850932B2 (ja) 画像伝送装置
JP2005198191A (ja) 伝送装置、伝送制御プログラム、及び伝送方法
JP2004007823A (ja) データ伝送方法および装置
WO2002100067A1 (en) Real-time packetization and retransmission in streaming applications
KR20090051064A (ko) 데이터통신시스템, 데이터송신장치, 데이터송신방법, 데이터수신장치 및 데이터수신방법
JP2010119133A (ja) パケット送信装置、通信システム及びプログラム
US9697328B2 (en) Transmission apparatus, transmission method, reception apparatus, reception method, and computer program
JP5682292B2 (ja) 映像配信装置及び映像配信方法
CN116634187A (zh) 基于合流发送机制的视频流处理方法、装置、设备和介质
JP5082715B2 (ja) 受信装置、受信方法およびコンピュータプログラム
WO2006103724A1 (ja) パケットの配信帯域制御方法、配信装置及び映像配信システム
CN107566318A (zh) 流媒体数据的修复方法及装置
JP2011211616A (ja) 動画像伝送装置、動画像伝送システム、動画像伝送方法およびプログラム
JP5523163B2 (ja) 送信装置、送信方法、プログラム
US11418218B2 (en) Receiving device and receiving method
JP2005012780A (ja) 画像伝送方法および画像伝送装置
JP2008092346A (ja) 送信装置及び受信装置
JP2016134673A (ja) 送信装置、送信方法、及びプログラム
JP2006285842A (ja) 情報処理装置およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130904

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140417

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140422

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140623

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20141216

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141229

R150 Certificate of patent or registration of utility model

Ref document number: 5682292

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees