特許第5890208号(P5890208)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日本放送協会の特許一覧

特許5890208パケット送信装置、パケット受信装置及びパケット伝送システム
<>
  • 特許5890208-パケット送信装置、パケット受信装置及びパケット伝送システム 図000002
  • 特許5890208-パケット送信装置、パケット受信装置及びパケット伝送システム 図000003
  • 特許5890208-パケット送信装置、パケット受信装置及びパケット伝送システム 図000004
  • 特許5890208-パケット送信装置、パケット受信装置及びパケット伝送システム 図000005
  • 特許5890208-パケット送信装置、パケット受信装置及びパケット伝送システム 図000006
  • 特許5890208-パケット送信装置、パケット受信装置及びパケット伝送システム 図000007
  • 特許5890208-パケット送信装置、パケット受信装置及びパケット伝送システム 図000008
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5890208
(24)【登録日】2016年2月26日
(45)【発行日】2016年3月22日
(54)【発明の名称】パケット送信装置、パケット受信装置及びパケット伝送システム
(51)【国際特許分類】
   H04L 29/06 20060101AFI20160308BHJP
   H04N 7/08 20060101ALI20160308BHJP
   H04L 1/00 20060101ALI20160308BHJP
【FI】
   H04L13/00 305Z
   H04N7/08 Z
   H04L1/00 B
【請求項の数】5
【全頁数】17
(21)【出願番号】特願2012-56722(P2012-56722)
(22)【出願日】2012年3月14日
(65)【公開番号】特開2013-192031(P2013-192031A)
(43)【公開日】2013年9月26日
【審査請求日】2015年2月2日
(73)【特許権者】
【識別番号】000004352
【氏名又は名称】日本放送協会
(74)【代理人】
【識別番号】110001807
【氏名又は名称】特許業務法人磯野国際特許商標事務所
(74)【代理人】
【識別番号】100064414
【弁理士】
【氏名又は名称】磯野 道造
(74)【代理人】
【識別番号】100111545
【弁理士】
【氏名又は名称】多田 悦夫
(72)【発明者】
【氏名】青木 秀一
【審査官】 阿部 弘
(56)【参考文献】
【文献】 特開2009−212876(JP,A)
【文献】 特開2008−011096(JP,A)
【文献】 米国特許出願公開第2006/0007943(US,A1)
【文献】 特開2004−032695(JP,A)
【文献】 米国特許出願公開第2011/0219279(US,A1)
【文献】 特開2010−246120(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 29
H04L 1
H04N 7
(57)【特許請求の範囲】
【請求項1】
提示又は再生する時刻を示すCTSが用いられるエンコード方式によって、映像信号又は音声信号の少なくとも一方が含まれる入力信号をエンコードすると共に、AL−FECブロック処理を施して送信するパケット送信装置であって、
前記入力信号を前記エンコード方式によってエンコードすることで、前記CTSが付加されたアクセスユニットを生成するエンコーダと、
前記アクセスユニットがペイロードに格納されたソースパケットを生成するソースパケット生成手段と、
前記ソースパケットの集合であるAL−FECブロックを生成するブロック化手段と、
生成した前記AL−FECブロックにAL−FEC処理を施すことで、前記ソースパケットを復元するための冗長パケットを生成するAL−FEC処理手段と、
同一の前記AL−FECブロックに含まれるソースパケットのペイロードに格納されたアクセスユニットから、最も早い時刻となるCTSを抽出し、抽出した前記CTSに基づいて、前記同一のAL−FECブロックから生成された冗長パケットに、AL−FEC復元処理の開始時刻を示すタイムスタンプを付加するタイムスタンプ付加手段と、
前記ソースパケットと、前記開始時刻が付加された冗長パケットとを送信する送信手段と、
を備えることを特徴とするパケット送信装置。
【請求項2】
前記エンコーダは、前記CTSと共に、復号する時刻を示すDTSが用いられる前記エンコード方式を用いて、前記CTS及び前記DTSが付加されたアクセスユニットを生成し、
前記タイムスタンプ付加手段は、前記同一のAL−FECブロックに含まれるソースパケットのペイロードに格納されたアクセスユニットから、最も早い時刻となるCTS又はDTSを抽出し、抽出した前記CTS又はDTSに基づいて、前記タイムスタンプを付加することを特徴とする請求項1に記載のパケット送信装置。
【請求項3】
前記タイムスタンプ付加手段は、前記抽出したCTS又はDTSが示す時刻、又は、前記抽出したCTS又はDTSから予め設定された値だけ前の時刻を、前記タイムスタンプとして前記冗長パケットに付加することを特徴とする請求項2に記載のパケット送信装置。
【請求項4】
請求項1に記載のパケット送信装置から、アクセスユニットがペイロードに格納されたソースパケットと、前記ソースパケットを復元するための冗長パケットとを受信するパケット受信装置であって、
前記ソースパケットと、AL−FEC復元処理の開始時刻を示すタイムスタンプが付加された前記冗長パケットとを受信する受信手段と、
同一の前記タイムスタンプを有する冗長パケットと、前記ソースパケットとの集合であるAL−FECブロックを生成するブロック化手段と、
前記AL−FECブロックごとに、パケットロスを検出するパケットロス検出手段と、
前記パケットロスが検出されたとき、前記冗長パケットのタイムスタンプが示す時刻において、前記AL−FECブロックに前記AL−FEC復元処理を施すことで、前記パケットロスが発生したソースパケットを復元するAL−FEC復元処理手段と、
前記受信手段が受信したソースパケットと、前記AL−FEC復元処理手段が復元したソースパケットとのペイロードに格納されたアクセスユニットをデコードするデコーダと、
を備えることを特徴とするパケット受信装置。
【請求項5】
請求項1に記載のパケット送信装置と、
請求項4に記載のパケット受信装置と、
を備えることを特徴とするパケット伝送システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、伝送時に発生するパケットロスを復元するためのAL−FEC技術を用いるパケット送信装置、パケット受信装置及びパケット伝送システムに関する。
【背景技術】
【0002】
IPパケットの伝送路では、ルータのバッファオーバーフロー等の理由により、パケットロスが発生することがある。そこで、従来から、受信側でロス(喪失)したソースパケットを復元するため、冗長パケットを予め生成し、本来のソースパケットと共に送信するAL−FEC(Application Layer-Forward Error Correction)技術が知られている(例えば、非特許文献1,2)。このAL−FEC技術を用いることで、パケットロス耐性を向上させることができる。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】IETF RFC 6363“Forward Error Correction (FEC) Framework”
【非特許文献2】IETF RFC 5109“RTP Payload Format for Generic Forward Error Correction”
【発明の概要】
【発明が解決しようとする課題】
【0004】
従来のAL−FEC技術を用いることで、受信側では、ストリーミング再生におけるスタートアップ遅延、つまり、再生を開始しようとソースパケットを受信してから、映像や音声を最初に出力するまでの時間が増大するという問題がある。
【0005】
ここで、スタートアップ遅延は、ブロック化遅延と、AL−FEC復元処理の遅延と、バッファリング遅延とに起因すると考えられる。
ブロック化遅延は、一定数のソースパケットを集め、AL−FECブロックを構成するときの遅延である。
AL−FEC復元処理の遅延は、プロセッサが演算によって、冗長パケットを生成し、ロスしたソースパケットを復元するときの遅延である。
バッファリング遅延は、AL−FEC復元処理と、映像や音声等のメディア処理(デコード)とを接続するときの遅延、つまり、ソースパケットを取り出した後、メディア処理を行うまでの待ち時間に起因する遅延である。
【0006】
しかし、ブロック化遅延は、AL−FECブロックの構成、つまり、用いる符号の種類やブロック長(ブロック内のパケット数)により決定されるため、その抑制が困難である。また、AL−FEC復元処理の遅延は、有限時間であるが、プロセッサの処理速度により異なるため、一般にはゼロとして扱われ、その抑制が困難である。
【0007】
以上より、スタートアップ遅延のうち、抑制可能なバッファリング遅延に着目する。受信側では、AL−FECブロックを構成するソースパケットに含まれる映像や音声のメディア処理のタイミングに関わらず、AL−FEC復元処理を適当なタイミングで行っている。このため、受信側では、AL−FEC復元処理からメディア処理まで時間が長くなり、バッファリング遅延が増大するという問題があった。
【0008】
そこで、本発明は、前記した問題を解決し、スタートアップ遅延を抑制するパケット送信装置、パケット受信装置及びパケット伝送システムを提供することを課題とする。
【課題を解決するための手段】
【0009】
前記した課題に鑑みて、本願第1発明に係るパケット送信装置は、提示又は再生する時刻を示すCTS(Composition Time Stamp)が用いられるエンコード方式によって、映像信号又は音声信号の少なくとも一方が含まれる入力信号をエンコードすると共に、AL−FECブロック処理を施して送信するパケット送信装置であって、エンコーダと、ソースパケット生成手段と、ブロック化手段と、AL−FEC処理手段と、タイムスタンプ付加手段と、送信手段と、を備えることを特徴とする。
【0010】
かかる構成によれば、パケット送信装置は、エンコーダによって、入力信号をエンコード方式によってエンコードすることで、CTSが付加されたアクセスユニット(AU:Access Unit)を生成する。また、パケット送信装置は、ソースパケット生成手段によって、アクセスユニットがペイロードに格納されたソースパケットを生成する。そして、パケット送信装置は、ブロック化手段によって、ソースパケットの集合であるAL−FECブロックを生成する。さらに、パケット送信装置は、AL−FEC処理手段によって、生成したAL−FECブロックにAL−FEC処理を施すことで、ソースパケットを復元するための冗長パケットを生成する。
【0011】
また、パケット送信装置は、タイムスタンプ付加手段によって、同一のAL−FECブロックに含まれるソースパケットのペイロードに格納されたアクセスユニットから、最も早い時刻となるCTSを抽出し、抽出したCTSに基づいて、同一のAL−FECブロックから生成された冗長パケットに、AL−FEC復元処理の開始時刻を示すタイムスタンプを付加する。そして、パケット送信装置は、送信手段によって、ソースパケットと、開始時刻が付加された冗長パケットとを送信する。このように、パケット送信装置は、冗長パケットのタイムスタンプによって、AL−FEC復元処理を行うタイミングをパケット受信装置に指示する。
【0012】
また、本願第2発明に係るパケット送信装置は、エンコーダが、CTSと共に、復号する時刻を示すDTSが用いられるエンコード方式を用いて、CTS及びDTSが付加されたアクセスユニットを生成する。ここで、映像信号のようにアクセスユニットの復号順序と提示順序が異なる場合、CTSとDTS(Decoding Time Stamp)の両方がアクセスユニットに付加される。その一方、音声信号のようにアクセスユニットの復号順序と提示順序が同じ場合、CTSだけがアクセスユニットに付加される。
【0013】
このため、パケット送信装置は、タイムスタンプ付加手段が、同一のAL−FECブロックに含まれるソースパケットのペイロードに格納されたアクセスユニットから、最も早い時刻となるCTS又はDTSを抽出し、抽出したCTS又はDTSに基づいて、タイムスタンプを付加する。このように、パケット送信装置は、CTS及びDTSの両方が付加される場合でも、AL−FEC復元処理を行うタイミングをパケット受信装置に適切に指示できる。
【0014】
また、本願第3発明に係るパケット送信装置は、タイムスタンプ付加手段が、パケット受信装置でのAL−FEC復元処理の遅延が無いものとして、抽出したCTS又はDTSが示す時刻を、タイムスタンプとして冗長パケットにそのまま付加してもよい。さらに、タイムスタンプ付加手段は、パケット受信装置でのAL−FEC復元処理の遅延を見込んで、抽出したCTS又はDTSから予め設定された値だけ前の時刻を、タイムスタンプとして冗長パケットに付加してもよい。このように、パケット送信装置は、パケット受信装置でのAL−FEC復元処理の遅延を考慮して、そのタイミングをパケット受信装置に指示する。
【0015】
また、前記した課題に鑑みて、本願第4発明に係るパケット受信装置は、本願第1発明に係るパケット送信装置から、アクセスユニットがペイロードに格納されたソースパケットと、ソースパケットを復元するための冗長パケットとを受信するパケット受信装置であって、受信手段と、ブロック化手段と、パケットロス検出手段と、AL−FEC復元処理手段と、デコーダと、を備えることを特徴とする。
【0016】
かかる構成によれば、パケット受信装置は、受信手段によって、ソースパケットと、AL−FEC復元処理の開始時刻を示すタイムスタンプが付加された冗長パケットとを受信する。また、パケット受信装置は、ブロック化手段によって、同一のタイムスタンプを有する冗長パケットと、ソースパケットとの集合であるAL−FECブロックを生成する。そして、パケット受信装置は、パケットロス検出手段によって、AL−FECブロックごとに、パケットロスを検出する。
【0017】
また、パケット受信装置は、AL−FEC復元処理手段によって、パケットロスが検出されたとき、冗長パケットのタイムスタンプが示す開始時刻において、AL−FECブロックにAL−FEC復元処理を施すことで、パケットロスが発生したソースパケットを復元する。このように、パケット受信装置は、パケット送信装置から指示されたタイミングで、AL−FEC復元処理を行う。
【0018】
また、パケット受信装置は、デコーダによって、受信手段が受信したソースパケットと、AL−FEC復元処理手段が復元したソースパケットとに含まれるアクセスユニットをデコードする。
【0019】
また、前記した課題に鑑みて、本願第5発明に係るパケット伝送システムは、本願第1発明に係るパケット送信装置と、本願第4発明に係るパケット受信装置とを備えることを特徴とする。
【0020】
かかる構成によれば、パケット伝送システムは、冗長パケットのタイムスタンプによって、パケット送信装置がAL−FEC復元処理を行うタイミングをパケット受信装置に指示し、パケット受信装置がそのタイミングでAL−FEC復元処理を行う。
【発明の効果】
【0021】
本発明によれば、以下のような優れた効果を奏する。
本願第1,4,5発明によれば、パケット送信装置がAL−FEC復元処理を行うタイミングをパケット受信装置に指示し、パケット受信装置がそのタイミングでAL−FEC復元処理を行う。これによって、本願第1,4,5発明によれば、AL−FEC復元処理と、映像信号や音声信号のデコード処理とのタイミングを連携させ、スタートアップ遅延を抑制することができる。
【0022】
本願第2発明によれば、CTS及びDTSの両方が付加される場合でも、AL−FEC復元処理を行うタイミングをパケット受信装置に適切に指示し、スタートアップ遅延を抑制することができる。
本願第3発明によれば、パケット受信装置でのAL−FEC復元処理の遅延を考慮して、そのタイミングをパケット受信装置に指示し、スタートアップ遅延を最小限にすることができる。
【図面の簡単な説明】
【0023】
図1】本発明の実施形態に係るパケット伝送システムの構成を示すブロック図である。
図2図1のAL−FEC処理手段による冗長パケット生成の第1例を説明する図である。
図3図1のAL−FEC処理手段による冗長パケット生成の第2例を説明する図である。
図4図1のタイムスタンプ付加手段によるタイムスタンプの付加を説明する図である。
図5図1のパケット受信装置におけるバッファ配置を説明する図である。
図6図1のパケット送信装置の動作を示すフローチャートである。
図7図1のパケット受信装置の動作を示すフローチャートである。
【発明を実施するための形態】
【0024】
[パケット伝送システムの構成]
以下、本発明の実施形態について、適宜図面を参照しながら詳細に説明する。
図1に示すように、本発明の実施形態に係るパケット伝送システム100は、AL−FEC技術を用いてストリーミング配信を行うものであり、パケット送信装置1と、パケット受信装置2とを備える。
【0025】
パケット伝送システム100は、ネットワークNを介して、パケット送信装置1及びパケット受信装置2が接続されている。このネットワークNは、例えば、インターネット、イントラネット等のIPパケットの伝送路である。
本実施形態では、パケット伝送システム100が、パケット送信装置1及びパケット受信装置2を1台ずつ備える。
【0026】
[パケット送信装置の構成]
以下、パケット送信装置1の構成について説明する。
パケット送信装置1は、入力信号をエンコードすると共に、AL−FEC処理を施してパケット受信装置2に送信するものである。このため、パケット送信装置1は、AVエンコーダ(エンコーダ)11と、多重化手段(ソースパケット生成手段)12と、ブロック化手段13と、AL−FEC処理手段14と、タイムスタンプ付加手段15と、送信手段16とを備える。
【0027】
AVエンコーダ11は、少なくともCTSを用いるエンコード方式によって、入力信号をエンコードすることで、少なくともCTSが付加されたアクセスユニットを生成するものである。ここで、AVエンコーダ11は、外部から、映像信号及び音声信号の両方が入力信号として入力される。
【0028】
また、AVエンコーダ11は、MPEG(Moving Picture Experts Group)−2 Video等の映像エンコード方式を用いて、入力された映像信号をエンコードし、映像のアクセスユニットを生成する。ここで、映像信号のようにアクセスユニットの復号順序と提示順序が異なる場合、アクセスユニット毎にCTSとDTSの両方が付加される。
【0029】
また、AVエンコーダ11は、MPEG−2 AAC(Advanced Audio Coding)等の音声エンコード方式を用いて、入力された音声信号をエンコードし、音声のアクセスユニットを生成する。ここで、音声信号のようにアクセスユニットの復号順序と提示順序が同じ場合、アクセスユニット毎にCTSだけが付加される。そして、AVエンコーダ11は、生成した映像のアクセスユニットと、音声のアクセスユニットとを多重化手段12に出力する。
【0030】
CTSは、提示又は再生する時刻を示す情報であり、PTS(Presentation Time Stamp)と同義で用いられることもある。
DTSは、復号する時刻を示す情報である。
アクセスユニットは、DTSが同一となる符号(入力信号)の集合である。
【0031】
多重化手段12は、AVエンコーダ11から映像及び音声のアクセスユニットが入力され、入力された映像及び音声のアクセスユニットを多重化するものである。
具体的には、多重化手段12は、入力された映像及び音声のアクセスユニットを、各アクセスユニット単位でメディアユニット(MU:Media Unit)形式でパケット化する。また、多重化手段12は、ATS(Advanced Transport Scheme)等の多重化方式を用いて、MUパケット化された映像及び音声のアクセスユニットが、1つのメディアユニット列となるように多重化する。
【0032】
また、多重化手段12は、多重化されたアクセスユニットを、予め設定されたパケット化最大サイズを超えない大きさに分割する。そして、多重化手段12は、分割されたアクセスユニットがペイロードに格納されるようにATSパケット化し、ソースパケット(ATSパケット)を生成する。さらに、多重化手段12は、生成したソースパケットにシーケンス番号を付加して、ブロック化手段13に出力する。
【0033】
このソースパケットは、アクセスユニットの一部がペイロードに格納されたパケットである。本実施形態では、映像と音声が多重化されているため、各ソースパケットは、映像又は音声何れかのアクセスユニットの一部がペイロードに格納されることになる。
【0034】
なお、メディアユニット及びATS多重化方式は、例えば、参考文献「ハイブリッド型放送におけるメディアのトランスポート方式、情報処理学会研究報告、Vol.2011-AVN-72 No.1 2011/3/11」に記載されている。
【0035】
ブロック化手段13は、多重化手段12からソースパケットが入力され、入力されたソースパケットの集合であるAL−FECブロックを生成するものである。
このAL−FECブロックは、後記するAL−FEC処理及びAL−FEC復元処理を行うために生成するブロックである。
【0036】
具体的には、ブロック化手段13は、AL−FECの冗長パケットを生成するために、予め設定されたブロック生成規則に従って、シーケンス番号順にソースパケットを集めて、AL−FECブロックを生成する。例えば、ブロック化手段13は、ソースパケットを一次元方向に配列して、AL−FECブロックを生成する(図2)。また、例えば、ブロック化手段13は、ソースパケットを二次元方向に配列して、AL−FECブロックを生成する(図3)。そして、ブロック化手段13は、生成したAL−FECブロックをAL−FEC処理手段14に出力する。
【0037】
なお、ブロック生成規則には、AL−FECブロックに格納するソースパケットの個数、AL−FECブロックにソースパケットを配列する方向(例えば、一次元方向又は二次元方向)といった情報が設定される。
【0038】
AL−FEC処理手段14は、ブロック化手段13から入力されたAL−FECブロックにAL−FEC処理を施すことで、ソースパケットを復元するための冗長パケットを生成するものである。
このAL−FEC処理は、AL−FECブロックから冗長パケットを生成する処理であり、例えば、XOR演算である。
【0039】
<冗長パケットの生成:第1例>
図2図3を参照して、AL−FEC処理手段14による冗長パケット92の生成について、2つの具体例を説明する(適宜図1参照)。
この図2図3では、説明を簡易にするため、ソースパケット91及び冗長パケット92のペイロードPy以外の図示を省略した。
この第1例では、図2に示すように、列方向(一次元方向)に配列されたM個のソースパケット91でAL−FECブロックが構成されている(但し、M≧2を満たす任意の整数)。
【0040】
ここで、AL−FEC処理手段14は、各ソースパケット91のペイロードPyに含まれるビット列をバイト単位で区切り、XOR演算を行う。例えば、ペイロードPyが1300バイトの固定長であれば、AL−FEC処理手段14は、ペイロードPyに対してXOR演算を1300回繰り返す。
【0041】
まず、AL−FEC処理手段14は、1個目のソースパケット91のペイロードPyと、2個目のソースパケット91のペイロードPyとのXOR演算を行う。次に、AL−FEC処理手段14は、1個目及び2個目のソースパケット91の演算結果(ペイロードPyと同じ長さのビット列)と、3個目のソースパケット91のペイロードPyとのXOR演算を行う。これと同様の手順を繰返し、AL−FEC処理手段14は、1個目からM−1個目までのソースパケット91の演算結果と、M個目のソースパケット91のペイロードPyとのXOR演算を行う。さらに、AL−FEC処理手段14は、1個目からM個目のソースパケット91までの演算結果をペイロードPyに格納して、冗長パケット92を生成する。さらに、AL−FEC処理手段14は、生成した冗長パケット92にシーケンス番号を付加し、AL−FECブロック90に追加する。
【0042】
なお、ペイロードPyが可変長の場合、AL−FEC処理手段14は、AL−FECブロック90の全ソースパケット91のうち、ペイロードPyの最大サイズ(バイト数)を求める。そして、AL−FEC処理手段14は、最大サイズ未満のペイロードPyが最大サイズと等しくなるようにゼロパディングを行ってから、XOR演算を行う。この場合、冗長パケット92のペイロードPyは、求めた最大サイズと等しくなる。
【0043】
<冗長パケットの生成:第2例>
この第2例では、図3に示すように、列方向にM個、行方向にN個のソースパケット91が二次元方向に配列されてAL−FECブロック90が構成されている(但し、N≧2を満たす任意の整数)。
【0044】
AL−FEC処理手段14は、第1例と同様、AL−FECブロック90を列方向でXOR演算を行う。そして、AL−FEC処理手段14は、列方向の演算結果をペイロードPyに格納して、N個の冗長パケット92を生成する。
【0045】
また、AL−FEC処理手段14は、第1例と同様、AL−FECブロック90を行方向でXOR演算を行う。そして、AL−FEC処理手段14は、行方向の演算結果をペイロードPyに格納して、M個の冗長パケット92を生成する。さらに、AL−FEC処理手段14は、生成した合計M+N個の冗長パケット92をAL−FECブロック90に追加する。
【0046】
その後、AL−FEC処理手段14は、第1例又は第2例の手法で生成したAL−FECブロック90をタイムスタンプ付加手段15に出力する。
なお、AL−FEC処理手段14は、第1例又は第2例の何れを用いるか、予め設定される。
【0047】
図1に戻り、パケット送信装置1の構成について説明を続ける。
タイムスタンプ付加手段15は、AL−FEC処理手段14からAL−FECブロック90が入力され、同一のAL−FECブロック90に含まれるソースパケット91のペイロードPyに格納されたアクセスユニットから、最も早い時刻となるCTS又はDTSを抽出するものである。そして、タイムスタンプ付加手段15は、抽出したCTS又はDTSに基づいて、同一のAL−FECブロック90から生成された冗長パケット92に、AL−FEC復元処理の開始時刻を示すタイムスタンプを付加する。
【0048】
<タイムスタンプの付加>
図4を参照して、タイムスタンプ付加手段15によるタイムスタンプTsの付加について、具体的に説明する(適宜図1参照)。
この図4には、2個のAL−FECブロック90を図示した。各AL−FECブロック90は、50個のソースパケット91と、10個の冗長パケット92とで構成される。
【0049】
なお、ソースパケット91には“1”〜“100”のシーケンス番号Snが付加され、冗長パケット92には“201”〜“220”のシーケンス番号Snが付加されている。
また、ソースパケット91のシーケンス番号Snと冗長パケット92のシーケンス番号Snは、番号体系が異なるために連続していない。
【0050】
例えば、1個目のAL−FECブロック90では、50個のソースパケット91のアクセスユニットに付加されたCTS及びDTSのうち、シーケンス番号Snが“3”のソースパケット91のペイロードPyに格納されたアクセスユニットに付加されたCTSが最も早い時刻であるとする。
【0051】
この場合、タイムスタンプ付加手段15は、シーケンス番号Snが“3”のソースパケット91から、そのペイロードPyに格納されているアクセスユニットのCTSを抽出する。そして、タイムスタンプ付加手段15は、抽出したCTSが示す時刻をそのまま、シーケンス番号Snが“201”〜“210”の冗長パケット92のタイムスタンプTsとして付加する。つまり、同一のAL−FECブロック90に含まれる冗長パケット92は、同一のタイムスタンプTsが付加されることになる。
なお、2個目のAL−FECブロック90も1個目と同様にタイムスタンプTsを付加するため、説明を省略する。
【0052】
このとき、タイムスタンプ付加手段15は、冗長パケット92に付加するタイムスタンプTsとして、クロックの絶対時刻を記述してもよく、連続するAL−FECブロック90におけるAL−FEC復元処理の開始時刻の差分を記述してもよい。
【0053】
そして、タイムスタンプ付加手段15は、AL−FECブロック90に含まれるソースパケット91と、タイムスタンプTsが付加された冗長パケット92とを、送信手段16に出力する。
【0054】
図1に戻り、パケット送信装置1の構成について説明を続ける。
送信手段16は、タイムスタンプ付加手段15からソースパケット91及び冗長パケット92が入力され、ネットワークNを介して、このソースパケット91及び冗長パケット92をパケット受信装置2に送信するものである。
【0055】
具体的には、送信手段16は、ソースパケット91及び冗長パケット92に、IP(Internet Protocol)ヘッダ及びUDP(User Datagram Protocol)ヘッダを付加し、IPパケットを生成する。そして、送信手段16は、ネットワークNに応じた伝送路符号化処理及び変調処理を行って、生成したIPパケットを送信する。
【0056】
ここで、送信手段16は、IPパケットをIPデータフローとして送信してもよい。このIPデータフローとは、IPパケットの送信元IPアドレス、宛先IPアドレス、ネクストヘッダ種別、送信元ポート番号、及び、宛先ポート番号の5つの情報が同一の組み合わせとなる一連のIPパケットの集合である。
【0057】
[パケット受信装置の構成]
図1図5を参照し、パケット受信装置2の構成について説明する。
パケット受信装置2は、パケット送信装置1からソースパケット91及び冗長パケット92を受信し、ロスしたソースパケット91をAL−FEC復元処理で復元し、ソースパケット91に含まれるアクセスユニットをデコードするものである。
【0058】
このため、パケット受信装置2は、受信手段21と、ブロック化手段22と、パケットロス検出手段23と、AL−FEC復元処理手段24と、多重分離手段25と、AVデコーダ(デコーダ)26とを備える(図1)。
【0059】
また、パケット受信装置2では、受信手段21がバッファ(IP pkt buffer)21aを備え、ブロック化手段22がバッファ(ATS pkt buffer 1)22a及びバッファ(Reorder buffer)22bを備え、多重分離手段25がバッファ(ATS pkt buffer 2)25a及びバッファ(Media unit buffer)25b,25cを備える(図5)。
【0060】
受信手段21は、ネットワークNを介して、パケット送信装置1からソースパケット91と、タイムスタンプTsが付加された冗長パケット92とを受信するものである。
具体的には、受信手段21は、ネットワークNに応じた復調処理及び伝送路復号処理を行ってIPパケットを受信し、バッファ(IP pkt buffer)21aに蓄積する。
【0061】
ブロック化手段22は、受信手段21が受信したソースパケット91と冗長パケット92との集合であるAL−FECブロック90を生成するものである。
具体的には、ブロック化手段22は、バッファ21aに蓄積されたIPパケットからIPヘッダ及びUDPヘッダを取り除き、ソースパケット91及び冗長パケット92を抽出してバッファ22aに蓄積する。
【0062】
これらソースパケット91及び冗長パケット92は、ネットワークNにおいて、IPパケットの到着順序の入れ替わり、到着時間にジッタを含む可能性がある。このため、ブロック化手段22は、バッファ22aに蓄積されたソースパケット91及び冗長パケット92を、送信順(つまり、シーケンス番号Snの順)に並び替えてバッファ22bに蓄積する。
【0063】
また、ブロック化手段22は、バッファ22bに蓄積されたソースパケット91及び冗長パケット92から、ブロック化手段13と同一内容で設定されたブロック生成規則に従って、送信時と同一のAL−FECブロック90を生成する。そして、ブロック化手段22は、生成したAL−FECブロック90をパケットロス検出手段23に出力する。
【0064】
パケットロス検出手段23は、ブロック化手段22が生成したAL−FECブロック90ごとに、パケットロスを検出するものである。
具体的には、パケットロス検出手段23は、各AL−FECブロック90に含まれるソースパケット91のシーケンス番号Snの欠番により、パケットロスを検出する。つまり、パケットロス検出手段23は、欠番したシーケンス番号Snのソースパケット91がロスしたとして検出する。
【0065】
そして、パケットロス検出手段23は、パケットロスが検出されたソースパケット91のシーケンス番号Snを格納したパケットロス検出情報を生成する。さらに、パケットロス検出手段23は、入力されたAL−FECブロック90と、生成したパケットロス検出情報とを、AL−FEC復元処理手段24に出力する。
【0066】
AL−FEC復元処理手段24は、パケットロス検出手段23から入力されたパケットロス検出情報を参照して、冗長パケット92のタイムスタンプTsが示す開始時刻において、AL−FECブロック90にAL−FEC復元処理を施すことで、パケットロスが発生したソースパケット91を復元するものである(図5のDFEC)。
このAL−FEC処理は、AL−FECブロック90からロスしたソースパケットを復元する処理であり、例えば、XOR演算である。
【0067】
具体的には、AL−FEC復元処理手段24は、AL−FECブロック90ごとにAL−FEC復元処理を行う。まず、AL−FEC復元処理手段24は、AL−FECブロック90の冗長パケット92の何れかタイムスタンプTsを抽出する。次に、AL−FEC復元処理手段24は、このタイムスタンプTsの開始時刻がクロックに一致するまで待つ。そして、AL−FEC復元処理手段24は、開始時刻がクロックに一致したとき、ロスしていないソースパケット91と冗長パケット92とに対してXOR演算を行い、ロスしたソースパケット91を復元する。
【0068】
そして、AL−FEC復元処理手段24は、AL−FECブロック90に含まれているソースパケット91と、復元したソースパケット91とをバッファ25aに蓄積する。
なお、AL−FEC復元処理手段24は、AL−FECブロック90でパケットロスが検出されなかった場合、AL−FECブロック90に含まれるソースパケット91のみをバッファ25aに蓄積する。
【0069】
多重分離手段25は、受信手段21が受信したソースパケット91と、AL−FEC復元処理手段24が復元したソースパケット91とのペイロードPyから、映像のアクセスユニットと、音声のアクセスユニットとを分離するものである。
【0070】
具体的には、多重分離手段25は、バッファ25aに蓄積されたソースパケット91のペイロードPyを抽出し、抽出したペイロードPyを結合してアクセスユニットを取り出す。また、多重分離手段25は、取り出したアクセスユニットを、映像のアクセスユニットと、音声のアクセスユニットとに分離する。ここで、アクセスユニットは、パケット送信装置1において、メディアユニット形式でパケット化されている。従って、多重分離手段25は、ソースパケット91から分離した映像のアクセスユニットを、メディアユニット形式でバッファ25bに蓄積する。また、多重分離手段25は、ソースパケット91から分離した音声のアクセスユニットを、メディアユニット形式でバッファ25cに蓄積する。
【0071】
AVデコーダ26は、多重分離手段25で分離された映像のアクセスユニットと、音声のアクセスユニットとを、AVエンコーダ11と同様のデコード方式よってデコードするものである。
【0072】
具体的には、AVデコーダ26は、MPEG−2 Videoを用いて、バッファ25bから映像のアクセスユニットを読み出して、デコードする(図5のD)。また、AVデコーダ26は、MPEG−2 AACを用いて、バッファ25cから音声のアクセスユニットを読み出して、デコードする(図5のD)。このアクセスユニットには、CTSとDTSの両方、又は、CTSのみが付加されている。従って、AVデコーダ26は、これらが示す時刻で、映像及び音声のデコード及び提示処理を行って、映像及び音声を再生することになる。
なお、AVデコーダ26は、アクセスユニットにCTSだけが付加されている場合、DTS及びCTSを同一時刻として扱う。
【0073】
[パケット送信装置の動作]
図6を参照して、パケット送信装置1の動作について説明する(適宜図1参照)。
パケット送信装置1は、AVエンコーダ11によって、入力信号をエンコードして、映像のアクセスユニットと、音声のアクセスユニットとを生成する(ステップS11)。
【0074】
パケット送信装置1は、多重化手段12によって、映像及び音声のアクセスユニットを多重化し、多重化されたアクセスユニットがペイロードPyに格納されたソースパケットを生成する(ステップS12)。
パケット送信装置1は、ブロック化手段13によって、ソースパケットの集合であるAL−FECブロックを生成する(ステップS13)。
パケット送信装置1は、AL−FEC処理手段14によって、AL−FECブロックにAL−FEC処理を施すことで、冗長パケットを生成する(ステップS14)。
【0075】
パケット送信装置1は、タイムスタンプ付加手段15によって、同一のAL−FECブロック90に含まれるソースパケット91のペイロードPyに格納されたアクセスユニットから、最も早い時刻となるCTS又はDTSを抽出する。そして、パケット送信装置1は、タイムスタンプ付加手段15によって、抽出したCTS又はDTSが示す時刻をタイムスタンプTsとして、同一のAL−FECブロック90の冗長パケット92に付加する(ステップS15)。
【0076】
パケット送信装置1は、送信手段16によって、ネットワークNを介して、ソースパケット91と、タイムスタンプTsが付加された冗長パケット92とを、IPパケットとして、パケット受信装置2に送信する(ステップS16)。
【0077】
[パケット受信装置の動作]
図7を参照して、パケット受信装置2の動作について説明する(適宜図1参照)。
パケット受信装置2は、受信手段21によって、ネットワークNを介して、パケット送信装置1からソースパケット91と、タイムスタンプTsが付加された冗長パケット92とを、IPパケットとして、受信する(ステップS21)。
【0078】
パケット受信装置2は、ブロック化手段22によって、受信手段21が受信したソースパケット91と冗長パケット92との集合であるAL−FECブロック90を生成する(ステップS22)。
【0079】
パケット受信装置2は、パケットロス検出手段23によって、ブロック化手段22が生成したAL−FECブロック90ごとに、パケットロスを検出する(ステップS23)。
ここで、パケットロスが検出された場合(ステップS23でYes)、パケット受信装置2は、ステップS24の処理に進む。
一方、パケットロスが検出されない場合(ステップS23でNo)、パケット受信装置2は、ステップS25の処理に進む。
【0080】
パケット受信装置2は、AL−FEC復元処理手段24によって、冗長パケット92のタイムスタンプTsが示す時刻において、AL−FECブロック90にAL−FEC復元処理を施すことで、パケットロスが発生したソースパケット91を復元する(ステップS24)。
【0081】
パケット受信装置2は、受信手段21が受信したソースパケット91と、AL−FEC復元処理手段24が復元したソースパケット91とのペイロードPyから、映像のアクセスユニットと、音声のアクセスユニットとを分離する(ステップS25)。
パケット受信装置2は、AVデコーダ26によって、多重分離手段25で分離された映像のアクセスユニットと、音声のアクセスユニットとをデコードする(ステップS26)。
【0082】
以上のように、本発明の実施形態に係るパケット伝送システム100は、パケット送信装置1がAL−FEC復元処理を行うタイミングをパケット受信装置2に指示し、パケット受信装置2がそのタイミングでAL−FEC復元処理を行う。そして、パケット伝送システム100では、AL−FEC復元処理を行うタイミング(タイムスタンプTs)が、CTS及びDTSのうち最も早い時刻(デコードの時刻)に設定される。これによって、パケット伝送システム100は、AL−FEC処理からデコードまでの時間が短くなるので、バッファリング遅延が最小限に抑えられ、結果的に、パケット受信装置2のスタートアップ遅延を抑制することができる。
【0083】
すなわち、パケット伝送システム100は、従来では別々に扱っていたメディアコーディングレイヤ(映像及び音声のエンコードレイヤ)と、伝送レイヤ(IPの伝送レイヤ)とを一緒に考えたものと言える。
【0084】
(変形例)
以上、本発明の実施形態について説明したが、本発明はこれに限定されるものではなく、その趣旨を変えない範囲で実施することができる。実施形態の変形例を以下に示す。
【0085】
パケット受信装置2は、バッファ21a〜25bに蓄積されたデータを削除するバッファ削除手段(不図示)を備えてもよい。この場合、バッファ削除手段は、AL−FECブロック90に含まれる冗長パケット92のタイムスタンプTsがメディア処理の時刻を経過すると、バッファ21a〜25bに蓄積されたデータを即座に削減できるため、パケット受信装置2のバッファ容量を節約することができる。
【0086】
タイムスタンプ付加手段15は、抽出したCTS又はDTSから予め設定された値(例えば、10ミリ秒)だけ前の時刻を、タイムスタンプTsとして設定してもよい。この場合、パケット送信装置1は、パケット受信装置2におけるAL−FEC復元処理の遅延を考慮して、そのタイミングをパケット受信装置2に指示できるため、スタートアップ遅延を最小限にすることができる。
【0087】
また、パケット伝送システム100は、AL−FEC処理及びAL−FEC復元処理として、XOR演算の他、リードソロモン符号、LDPC符号等のブロック訂正符号を用いてもよい。この場合、パケット伝送システム100は、AL−FEC処理及びAL−FEC復元処理として何れのブロック訂正符号を用いるか、ネットワークNでのパケットロス率、及び、ブロック化遅延の許容範囲に応じて、予め選択できる。
【0088】
また、パケット伝送システム100は、映像エンコード方式として、MPEG−4 AVC(Advanced Video Coding)を利用し、多重化方式として、MPEG−2 Systemを利用してもよい。
【0089】
また、パケット送信装置1は、映像信号及び音声信号を多重化せずにパケット受信装置2に送信してもよい。具体的には、パケット送信装置1は、多重化手段12の代わりにソースパケット生成手段(不図示)を備える。また、パケット送信装置1は、ソースパケット生成手段によって、映像及び音声で別々のメディアユニット列を生成した後、各メディアユニット列からATSパケットを生成する。そして、パケット送信装置1は、送信手段16によって、映像及び音声のアクセスユニットが含まれるIPパケットを、別々のIPデータフローで送信する。
【0090】
また、パケット送信装置1は、タイムスタンプ付加手段15によって、同一のAL−FECブロック90に含まれるソースパケット91にもタイムスタンプを付加してもよい。この場合、ソースパケット91及び冗長パケット92が同じデータ構造になるため、システム管理上の都合がよい。
【0091】
また、パケット送信装置1は、映像信号又は音声信号の何れか一方のみが入力信号として入力されてもよい。
また、パケット送信装置1は、同一のAL−FECブロック90に含まれるソースパケット91と冗長パケット92との間で、連続したシーケンス番号Snを付加してもよい。
また、パケット伝送システム100は、パケット送信装置1を2台以上備えてもよく、パケット受信装置2を2台以上備えてもよい。
【符号の説明】
【0092】
1 パケット送信装置
11 AVエンコーダ(エンコーダ)
12 多重化手段(ソースパケット生成手段)
13 ブロック化手段
14 AL−FEC処理手段
15 タイムスタンプ付加手段
16 送信手段
2 パケット受信装置
21 受信手段
22 ブロック化手段
23 パケットロス検出手段
24 AL−FEC復元処理手段
25 多重分離手段
26 AVデコーダ(デコーダ)
100 パケット伝送システム
図1
図2
図3
図4
図5
図6
図7