(57)【特許請求の範囲】
【請求項１】
提示又は再生する時刻を示すＣＴＳが用いられるエンコード方式によって、映像信号又は音声信号の少なくとも一方が含まれる入力信号をエンコードすると共に、ＡＬ−ＦＥＣブロック処理を施して送信するパケット送信装置であって、
前記入力信号を前記エンコード方式によってエンコードすることで、前記ＣＴＳが付加されたアクセスユニットを生成するエンコーダと、
前記アクセスユニットがペイロードに格納されたソースパケットを生成するソースパケット生成手段と、
前記ソースパケットの集合であるＡＬ−ＦＥＣブロックを生成するブロック化手段と、
生成した前記ＡＬ−ＦＥＣブロックにＡＬ−ＦＥＣ処理を施すことで、前記ソースパケットを復元するための冗長パケットを生成するＡＬ−ＦＥＣ処理手段と、
同一の前記ＡＬ−ＦＥＣブロックに含まれるソースパケットのペイロードに格納されたアクセスユニットから、最も早い時刻となるＣＴＳを抽出し、抽出した前記ＣＴＳに基づいて、前記同一のＡＬ−ＦＥＣブロックから生成された冗長パケットに、ＡＬ−ＦＥＣ復元処理の開始時刻を示すタイムスタンプを付加するタイムスタンプ付加手段と、
前記ソースパケットと、前記開始時刻が付加された冗長パケットとを送信する送信手段と、
を備えることを特徴とするパケット送信装置。
【請求項２】
前記エンコーダは、前記ＣＴＳと共に、復号する時刻を示すＤＴＳが用いられる前記エンコード方式を用いて、前記ＣＴＳ及び前記ＤＴＳが付加されたアクセスユニットを生成し、
前記タイムスタンプ付加手段は、前記同一のＡＬ−ＦＥＣブロックに含まれるソースパケットのペイロードに格納されたアクセスユニットから、最も早い時刻となるＣＴＳ又はＤＴＳを抽出し、抽出した前記ＣＴＳ又はＤＴＳに基づいて、前記タイムスタンプを付加することを特徴とする請求項１に記載のパケット送信装置。
【請求項３】
前記タイムスタンプ付加手段は、前記抽出したＣＴＳ又はＤＴＳが示す時刻、又は、前記抽出したＣＴＳ又はＤＴＳから予め設定された値だけ前の時刻を、前記タイムスタンプとして前記冗長パケットに付加することを特徴とする請求項２に記載のパケット送信装置。
【請求項４】
請求項１に記載のパケット送信装置から、アクセスユニットがペイロードに格納されたソースパケットと、前記ソースパケットを復元するための冗長パケットとを受信するパケット受信装置であって、
前記ソースパケットと、ＡＬ−ＦＥＣ復元処理の開始時刻を示すタイムスタンプが付加された前記冗長パケットとを受信する受信手段と、
同一の前記タイムスタンプを有する冗長パケットと、前記ソースパケットとの集合であるＡＬ−ＦＥＣブロックを生成するブロック化手段と、
前記ＡＬ−ＦＥＣブロックごとに、パケットロスを検出するパケットロス検出手段と、
前記パケットロスが検出されたとき、前記冗長パケットのタイムスタンプが示す時刻において、前記ＡＬ−ＦＥＣブロックに前記ＡＬ−ＦＥＣ復元処理を施すことで、前記パケットロスが発生したソースパケットを復元するＡＬ−ＦＥＣ復元処理手段と、
前記受信手段が受信したソースパケットと、前記ＡＬ−ＦＥＣ復元処理手段が復元したソースパケットとのペイロードに格納されたアクセスユニットをデコードするデコーダと、
を備えることを特徴とするパケット受信装置。
【請求項５】
請求項１に記載のパケット送信装置と、
請求項４に記載のパケット受信装置と、
を備えることを特徴とするパケット伝送システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、伝送時に発生するパケットロスを復元するためのＡＬ−ＦＥＣ技術を用いるパケット送信装置、パケット受信装置及びパケット伝送システムに関する。
【背景技術】
【０００２】
ＩＰパケットの伝送路では、ルータのバッファオーバーフロー等の理由により、パケットロスが発生することがある。そこで、従来から、受信側でロス（喪失）したソースパケットを復元するため、冗長パケットを予め生成し、本来のソースパケットと共に送信するＡＬ−ＦＥＣ（Application Layer-Forward Error Correction）技術が知られている（例えば、非特許文献１，２）。このＡＬ−ＦＥＣ技術を用いることで、パケットロス耐性を向上させることができる。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】IETF RFC 6363“Forward Error Correction (FEC) Framework”
【非特許文献２】IETF RFC 5109“RTP Payload Format for Generic Forward Error Correction”
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来のＡＬ−ＦＥＣ技術を用いることで、受信側では、ストリーミング再生におけるスタートアップ遅延、つまり、再生を開始しようとソースパケットを受信してから、映像や音声を最初に出力するまでの時間が増大するという問題がある。
【０００５】
ここで、スタートアップ遅延は、ブロック化遅延と、ＡＬ−ＦＥＣ復元処理の遅延と、バッファリング遅延とに起因すると考えられる。
ブロック化遅延は、一定数のソースパケットを集め、ＡＬ−ＦＥＣブロックを構成するときの遅延である。
ＡＬ−ＦＥＣ復元処理の遅延は、プロセッサが演算によって、冗長パケットを生成し、ロスしたソースパケットを復元するときの遅延である。
バッファリング遅延は、ＡＬ−ＦＥＣ復元処理と、映像や音声等のメディア処理（デコード）とを接続するときの遅延、つまり、ソースパケットを取り出した後、メディア処理を行うまでの待ち時間に起因する遅延である。
【０００６】
しかし、ブロック化遅延は、ＡＬ−ＦＥＣブロックの構成、つまり、用いる符号の種類やブロック長(ブロック内のパケット数)により決定されるため、その抑制が困難である。また、ＡＬ−ＦＥＣ復元処理の遅延は、有限時間であるが、プロセッサの処理速度により異なるため、一般にはゼロとして扱われ、その抑制が困難である。
【０００７】
以上より、スタートアップ遅延のうち、抑制可能なバッファリング遅延に着目する。受信側では、ＡＬ−ＦＥＣブロックを構成するソースパケットに含まれる映像や音声のメディア処理のタイミングに関わらず、ＡＬ−ＦＥＣ復元処理を適当なタイミングで行っている。このため、受信側では、ＡＬ−ＦＥＣ復元処理からメディア処理まで時間が長くなり、バッファリング遅延が増大するという問題があった。
【０００８】
そこで、本発明は、前記した問題を解決し、スタートアップ遅延を抑制するパケット送信装置、パケット受信装置及びパケット伝送システムを提供することを課題とする。
【課題を解決するための手段】
【０００９】
前記した課題に鑑みて、本願第１発明に係るパケット送信装置は、提示又は再生する時刻を示すＣＴＳ（Composition Time Stamp）が用いられるエンコード方式によって、映像信号又は音声信号の少なくとも一方が含まれる入力信号をエンコードすると共に、ＡＬ−ＦＥＣブロック処理を施して送信するパケット送信装置であって、エンコーダと、ソースパケット生成手段と、ブロック化手段と、ＡＬ−ＦＥＣ処理手段と、タイムスタンプ付加手段と、送信手段と、を備えることを特徴とする。
【００１０】
かかる構成によれば、パケット送信装置は、エンコーダによって、入力信号をエンコード方式によってエンコードすることで、ＣＴＳが付加されたアクセスユニット（ＡＵ：Access Unit）を生成する。また、パケット送信装置は、ソースパケット生成手段によって、アクセスユニットがペイロードに格納されたソースパケットを生成する。そして、パケット送信装置は、ブロック化手段によって、ソースパケットの集合であるＡＬ−ＦＥＣブロックを生成する。さらに、パケット送信装置は、ＡＬ−ＦＥＣ処理手段によって、生成したＡＬ−ＦＥＣブロックにＡＬ−ＦＥＣ処理を施すことで、ソースパケットを復元するための冗長パケットを生成する。
【００１１】
また、パケット送信装置は、タイムスタンプ付加手段によって、同一のＡＬ−ＦＥＣブロックに含まれるソースパケットのペイロードに格納されたアクセスユニットから、最も早い時刻となるＣＴＳを抽出し、抽出したＣＴＳに基づいて、同一のＡＬ−ＦＥＣブロックから生成された冗長パケットに、ＡＬ−ＦＥＣ復元処理の開始時刻を示すタイムスタンプを付加する。そして、パケット送信装置は、送信手段によって、ソースパケットと、開始時刻が付加された冗長パケットとを送信する。このように、パケット送信装置は、冗長パケットのタイムスタンプによって、ＡＬ−ＦＥＣ復元処理を行うタイミングをパケット受信装置に指示する。
【００１２】
また、本願第２発明に係るパケット送信装置は、エンコーダが、ＣＴＳと共に、復号する時刻を示すＤＴＳが用いられるエンコード方式を用いて、ＣＴＳ及びＤＴＳが付加されたアクセスユニットを生成する。ここで、映像信号のようにアクセスユニットの復号順序と提示順序が異なる場合、ＣＴＳとＤＴＳ（Decoding Time Stamp）の両方がアクセスユニットに付加される。その一方、音声信号のようにアクセスユニットの復号順序と提示順序が同じ場合、ＣＴＳだけがアクセスユニットに付加される。
【００１３】
このため、パケット送信装置は、タイムスタンプ付加手段が、同一のＡＬ−ＦＥＣブロックに含まれるソースパケットのペイロードに格納されたアクセスユニットから、最も早い時刻となるＣＴＳ又はＤＴＳを抽出し、抽出したＣＴＳ又はＤＴＳに基づいて、タイムスタンプを付加する。このように、パケット送信装置は、ＣＴＳ及びＤＴＳの両方が付加される場合でも、ＡＬ−ＦＥＣ復元処理を行うタイミングをパケット受信装置に適切に指示できる。
【００１４】
また、本願第３発明に係るパケット送信装置は、タイムスタンプ付加手段が、パケット受信装置でのＡＬ−ＦＥＣ復元処理の遅延が無いものとして、抽出したＣＴＳ又はＤＴＳが示す時刻を、タイムスタンプとして冗長パケットにそのまま付加してもよい。さらに、タイムスタンプ付加手段は、パケット受信装置でのＡＬ−ＦＥＣ復元処理の遅延を見込んで、抽出したＣＴＳ又はＤＴＳから予め設定された値だけ前の時刻を、タイムスタンプとして冗長パケットに付加してもよい。このように、パケット送信装置は、パケット受信装置でのＡＬ−ＦＥＣ復元処理の遅延を考慮して、そのタイミングをパケット受信装置に指示する。
【００１５】
また、前記した課題に鑑みて、本願第４発明に係るパケット受信装置は、本願第１発明に係るパケット送信装置から、アクセスユニットがペイロードに格納されたソースパケットと、ソースパケットを復元するための冗長パケットとを受信するパケット受信装置であって、受信手段と、ブロック化手段と、パケットロス検出手段と、ＡＬ−ＦＥＣ復元処理手段と、デコーダと、を備えることを特徴とする。
【００１６】
かかる構成によれば、パケット受信装置は、受信手段によって、ソースパケットと、ＡＬ−ＦＥＣ復元処理の開始時刻を示すタイムスタンプが付加された冗長パケットとを受信する。また、パケット受信装置は、ブロック化手段によって、同一のタイムスタンプを有する冗長パケットと、ソースパケットとの集合であるＡＬ−ＦＥＣブロックを生成する。そして、パケット受信装置は、パケットロス検出手段によって、ＡＬ−ＦＥＣブロックごとに、パケットロスを検出する。
【００１７】
また、パケット受信装置は、ＡＬ−ＦＥＣ復元処理手段によって、パケットロスが検出されたとき、冗長パケットのタイムスタンプが示す開始時刻において、ＡＬ−ＦＥＣブロックにＡＬ−ＦＥＣ復元処理を施すことで、パケットロスが発生したソースパケットを復元する。このように、パケット受信装置は、パケット送信装置から指示されたタイミングで、ＡＬ−ＦＥＣ復元処理を行う。
【００１８】
また、パケット受信装置は、デコーダによって、受信手段が受信したソースパケットと、ＡＬ−ＦＥＣ復元処理手段が復元したソースパケットとに含まれるアクセスユニットをデコードする。
【００１９】
また、前記した課題に鑑みて、本願第５発明に係るパケット伝送システムは、本願第１発明に係るパケット送信装置と、本願第４発明に係るパケット受信装置とを備えることを特徴とする。
【００２０】
かかる構成によれば、パケット伝送システムは、冗長パケットのタイムスタンプによって、パケット送信装置がＡＬ−ＦＥＣ復元処理を行うタイミングをパケット受信装置に指示し、パケット受信装置がそのタイミングでＡＬ−ＦＥＣ復元処理を行う。
【発明の効果】
【００２１】
本発明によれば、以下のような優れた効果を奏する。
本願第１，４，５発明によれば、パケット送信装置がＡＬ−ＦＥＣ復元処理を行うタイミングをパケット受信装置に指示し、パケット受信装置がそのタイミングでＡＬ−ＦＥＣ復元処理を行う。これによって、本願第１，４，５発明によれば、ＡＬ−ＦＥＣ復元処理と、映像信号や音声信号のデコード処理とのタイミングを連携させ、スタートアップ遅延を抑制することができる。
【００２２】
本願第２発明によれば、ＣＴＳ及びＤＴＳの両方が付加される場合でも、ＡＬ−ＦＥＣ復元処理を行うタイミングをパケット受信装置に適切に指示し、スタートアップ遅延を抑制することができる。
本願第３発明によれば、パケット受信装置でのＡＬ−ＦＥＣ復元処理の遅延を考慮して、そのタイミングをパケット受信装置に指示し、スタートアップ遅延を最小限にすることができる。
【図面の簡単な説明】
【００２３】
【図１】本発明の実施形態に係るパケット伝送システムの構成を示すブロック図である。
【図２】図１のＡＬ−ＦＥＣ処理手段による冗長パケット生成の第１例を説明する図である。
【図３】図１のＡＬ−ＦＥＣ処理手段による冗長パケット生成の第２例を説明する図である。
【図４】図１のタイムスタンプ付加手段によるタイムスタンプの付加を説明する図である。
【図５】図１のパケット受信装置におけるバッファ配置を説明する図である。
【図６】図１のパケット送信装置の動作を示すフローチャートである。
【図７】図１のパケット受信装置の動作を示すフローチャートである。
【発明を実施するための形態】
【００２４】
［パケット伝送システムの構成］
以下、本発明の実施形態について、適宜図面を参照しながら詳細に説明する。
図１に示すように、本発明の実施形態に係るパケット伝送システム１００は、ＡＬ−ＦＥＣ技術を用いてストリーミング配信を行うものであり、パケット送信装置１と、パケット受信装置２とを備える。
【００２５】
パケット伝送システム１００は、ネットワークＮを介して、パケット送信装置１及びパケット受信装置２が接続されている。このネットワークＮは、例えば、インターネット、イントラネット等のＩＰパケットの伝送路である。
本実施形態では、パケット伝送システム１００が、パケット送信装置１及びパケット受信装置２を１台ずつ備える。
【００２６】
［パケット送信装置の構成］
以下、パケット送信装置１の構成について説明する。
パケット送信装置１は、入力信号をエンコードすると共に、ＡＬ−ＦＥＣ処理を施してパケット受信装置２に送信するものである。このため、パケット送信装置１は、ＡＶエンコーダ（エンコーダ）１１と、多重化手段（ソースパケット生成手段）１２と、ブロック化手段１３と、ＡＬ−ＦＥＣ処理手段１４と、タイムスタンプ付加手段１５と、送信手段１６とを備える。
【００２７】
ＡＶエンコーダ１１は、少なくともＣＴＳを用いるエンコード方式によって、入力信号をエンコードすることで、少なくともＣＴＳが付加されたアクセスユニットを生成するものである。ここで、ＡＶエンコーダ１１は、外部から、映像信号及び音声信号の両方が入力信号として入力される。
【００２８】
また、ＡＶエンコーダ１１は、ＭＰＥＧ（Moving Picture Experts Group）−２  Ｖｉｄｅｏ等の映像エンコード方式を用いて、入力された映像信号をエンコードし、映像のアクセスユニットを生成する。ここで、映像信号のようにアクセスユニットの復号順序と提示順序が異なる場合、アクセスユニット毎にＣＴＳとＤＴＳの両方が付加される。
【００２９】
また、ＡＶエンコーダ１１は、ＭＰＥＧ−２  ＡＡＣ（Advanced Audio Coding）等の音声エンコード方式を用いて、入力された音声信号をエンコードし、音声のアクセスユニットを生成する。ここで、音声信号のようにアクセスユニットの復号順序と提示順序が同じ場合、アクセスユニット毎にＣＴＳだけが付加される。そして、ＡＶエンコーダ１１は、生成した映像のアクセスユニットと、音声のアクセスユニットとを多重化手段１２に出力する。
【００３０】
ＣＴＳは、提示又は再生する時刻を示す情報であり、ＰＴＳ（Presentation Time Stamp）と同義で用いられることもある。
ＤＴＳは、復号する時刻を示す情報である。
アクセスユニットは、ＤＴＳが同一となる符号（入力信号）の集合である。
【００３１】
多重化手段１２は、ＡＶエンコーダ１１から映像及び音声のアクセスユニットが入力され、入力された映像及び音声のアクセスユニットを多重化するものである。
具体的には、多重化手段１２は、入力された映像及び音声のアクセスユニットを、各アクセスユニット単位でメディアユニット（ＭＵ：Media Unit）形式でパケット化する。また、多重化手段１２は、ＡＴＳ(Advanced Transport Scheme)等の多重化方式を用いて、ＭＵパケット化された映像及び音声のアクセスユニットが、１つのメディアユニット列となるように多重化する。
【００３２】
また、多重化手段１２は、多重化されたアクセスユニットを、予め設定されたパケット化最大サイズを超えない大きさに分割する。そして、多重化手段１２は、分割されたアクセスユニットがペイロードに格納されるようにＡＴＳパケット化し、ソースパケット（ＡＴＳパケット）を生成する。さらに、多重化手段１２は、生成したソースパケットにシーケンス番号を付加して、ブロック化手段１３に出力する。
【００３３】
このソースパケットは、アクセスユニットの一部がペイロードに格納されたパケットである。本実施形態では、映像と音声が多重化されているため、各ソースパケットは、映像又は音声何れかのアクセスユニットの一部がペイロードに格納されることになる。
【００３４】
なお、メディアユニット及びＡＴＳ多重化方式は、例えば、参考文献「ハイブリッド型放送におけるメディアのトランスポート方式、情報処理学会研究報告、Vol.2011-AVN-72 No.1 2011/3/11」に記載されている。
【００３５】
ブロック化手段１３は、多重化手段１２からソースパケットが入力され、入力されたソースパケットの集合であるＡＬ−ＦＥＣブロックを生成するものである。
このＡＬ−ＦＥＣブロックは、後記するＡＬ−ＦＥＣ処理及びＡＬ−ＦＥＣ復元処理を行うために生成するブロックである。
【００３６】
具体的には、ブロック化手段１３は、ＡＬ−ＦＥＣの冗長パケットを生成するために、予め設定されたブロック生成規則に従って、シーケンス番号順にソースパケットを集めて、ＡＬ−ＦＥＣブロックを生成する。例えば、ブロック化手段１３は、ソースパケットを一次元方向に配列して、ＡＬ−ＦＥＣブロックを生成する（図２）。また、例えば、ブロック化手段１３は、ソースパケットを二次元方向に配列して、ＡＬ−ＦＥＣブロックを生成する（図３）。そして、ブロック化手段１３は、生成したＡＬ−ＦＥＣブロックをＡＬ−ＦＥＣ処理手段１４に出力する。
【００３７】
なお、ブロック生成規則には、ＡＬ−ＦＥＣブロックに格納するソースパケットの個数、ＡＬ−ＦＥＣブロックにソースパケットを配列する方向（例えば、一次元方向又は二次元方向）といった情報が設定される。
【００３８】
ＡＬ−ＦＥＣ処理手段１４は、ブロック化手段１３から入力されたＡＬ−ＦＥＣブロックにＡＬ−ＦＥＣ処理を施すことで、ソースパケットを復元するための冗長パケットを生成するものである。
このＡＬ−ＦＥＣ処理は、ＡＬ−ＦＥＣブロックから冗長パケットを生成する処理であり、例えば、ＸＯＲ演算である。
【００３９】
＜冗長パケットの生成：第１例＞
図２，図３を参照して、ＡＬ−ＦＥＣ処理手段１４による冗長パケット９２の生成について、２つの具体例を説明する（適宜図１参照）。
この図２，図３では、説明を簡易にするため、ソースパケット９１及び冗長パケット９２のペイロードＰｙ以外の図示を省略した。
この第１例では、図２に示すように、列方向（一次元方向）に配列されたＭ個のソースパケット９１でＡＬ−ＦＥＣブロックが構成されている（但し、Ｍ≧２を満たす任意の整数）。
【００４０】
ここで、ＡＬ−ＦＥＣ処理手段１４は、各ソースパケット９１のペイロードＰｙに含まれるビット列をバイト単位で区切り、ＸＯＲ演算を行う。例えば、ペイロードＰｙが１３００バイトの固定長であれば、ＡＬ−ＦＥＣ処理手段１４は、ペイロードＰｙに対してＸＯＲ演算を１３００回繰り返す。
【００４１】
まず、ＡＬ−ＦＥＣ処理手段１４は、１個目のソースパケット９１のペイロードＰｙと、２個目のソースパケット９１のペイロードＰｙとのＸＯＲ演算を行う。次に、ＡＬ−ＦＥＣ処理手段１４は、１個目及び２個目のソースパケット９１の演算結果（ペイロードＰｙと同じ長さのビット列）と、３個目のソースパケット９１のペイロードＰｙとのＸＯＲ演算を行う。これと同様の手順を繰返し、ＡＬ−ＦＥＣ処理手段１４は、１個目からＭ−１個目までのソースパケット９１の演算結果と、Ｍ個目のソースパケット９１のペイロードＰｙとのＸＯＲ演算を行う。さらに、ＡＬ−ＦＥＣ処理手段１４は、１個目からＭ個目のソースパケット９１までの演算結果をペイロードＰｙに格納して、冗長パケット９２を生成する。さらに、ＡＬ−ＦＥＣ処理手段１４は、生成した冗長パケット９２にシーケンス番号を付加し、ＡＬ−ＦＥＣブロック９０に追加する。
【００４２】
なお、ペイロードＰｙが可変長の場合、ＡＬ−ＦＥＣ処理手段１４は、ＡＬ−ＦＥＣブロック９０の全ソースパケット９１のうち、ペイロードＰｙの最大サイズ（バイト数）を求める。そして、ＡＬ−ＦＥＣ処理手段１４は、最大サイズ未満のペイロードＰｙが最大サイズと等しくなるようにゼロパディングを行ってから、ＸＯＲ演算を行う。この場合、冗長パケット９２のペイロードＰｙは、求めた最大サイズと等しくなる。
【００４３】
＜冗長パケットの生成：第２例＞
この第２例では、図３に示すように、列方向にＭ個、行方向にＮ個のソースパケット９１が二次元方向に配列されてＡＬ−ＦＥＣブロック９０が構成されている（但し、Ｎ≧２を満たす任意の整数）。
【００４４】
ＡＬ−ＦＥＣ処理手段１４は、第１例と同様、ＡＬ−ＦＥＣブロック９０を列方向でＸＯＲ演算を行う。そして、ＡＬ−ＦＥＣ処理手段１４は、列方向の演算結果をペイロードＰｙに格納して、Ｎ個の冗長パケット９２を生成する。
【００４５】
また、ＡＬ−ＦＥＣ処理手段１４は、第１例と同様、ＡＬ−ＦＥＣブロック９０を行方向でＸＯＲ演算を行う。そして、ＡＬ−ＦＥＣ処理手段１４は、行方向の演算結果をペイロードＰｙに格納して、Ｍ個の冗長パケット９２を生成する。さらに、ＡＬ−ＦＥＣ処理手段１４は、生成した合計Ｍ＋Ｎ個の冗長パケット９２をＡＬ−ＦＥＣブロック９０に追加する。
【００４６】
その後、ＡＬ−ＦＥＣ処理手段１４は、第１例又は第２例の手法で生成したＡＬ−ＦＥＣブロック９０をタイムスタンプ付加手段１５に出力する。
なお、ＡＬ−ＦＥＣ処理手段１４は、第１例又は第２例の何れを用いるか、予め設定される。
【００４７】
図１に戻り、パケット送信装置１の構成について説明を続ける。
タイムスタンプ付加手段１５は、ＡＬ−ＦＥＣ処理手段１４からＡＬ−ＦＥＣブロック９０が入力され、同一のＡＬ−ＦＥＣブロック９０に含まれるソースパケット９１のペイロードＰｙに格納されたアクセスユニットから、最も早い時刻となるＣＴＳ又はＤＴＳを抽出するものである。そして、タイムスタンプ付加手段１５は、抽出したＣＴＳ又はＤＴＳに基づいて、同一のＡＬ−ＦＥＣブロック９０から生成された冗長パケット９２に、ＡＬ−ＦＥＣ復元処理の開始時刻を示すタイムスタンプを付加する。
【００４８】
＜タイムスタンプの付加＞
図４を参照して、タイムスタンプ付加手段１５によるタイムスタンプＴｓの付加について、具体的に説明する（適宜図１参照）。
この図４には、２個のＡＬ−ＦＥＣブロック９０を図示した。各ＡＬ−ＦＥＣブロック９０は、５０個のソースパケット９１と、１０個の冗長パケット９２とで構成される。
【００４９】
なお、ソースパケット９１には“１”〜“１００”のシーケンス番号Ｓｎが付加され、冗長パケット９２には“２０１”〜“２２０”のシーケンス番号Ｓｎが付加されている。
また、ソースパケット９１のシーケンス番号Ｓｎと冗長パケット９２のシーケンス番号Ｓｎは、番号体系が異なるために連続していない。
【００５０】
例えば、１個目のＡＬ−ＦＥＣブロック９０では、５０個のソースパケット９１のアクセスユニットに付加されたＣＴＳ及びＤＴＳのうち、シーケンス番号Ｓｎが“３”のソースパケット９１のペイロードＰｙに格納されたアクセスユニットに付加されたＣＴＳが最も早い時刻であるとする。
【００５１】
この場合、タイムスタンプ付加手段１５は、シーケンス番号Ｓｎが“３”のソースパケット９１から、そのペイロードＰｙに格納されているアクセスユニットのＣＴＳを抽出する。そして、タイムスタンプ付加手段１５は、抽出したＣＴＳが示す時刻をそのまま、シーケンス番号Ｓｎが“２０１”〜“２１０”の冗長パケット９２のタイムスタンプＴｓとして付加する。つまり、同一のＡＬ−ＦＥＣブロック９０に含まれる冗長パケット９２は、同一のタイムスタンプＴｓが付加されることになる。
なお、２個目のＡＬ−ＦＥＣブロック９０も１個目と同様にタイムスタンプＴｓを付加するため、説明を省略する。
【００５２】
このとき、タイムスタンプ付加手段１５は、冗長パケット９２に付加するタイムスタンプＴｓとして、クロックの絶対時刻を記述してもよく、連続するＡＬ−ＦＥＣブロック９０におけるＡＬ−ＦＥＣ復元処理の開始時刻の差分を記述してもよい。
【００５３】
そして、タイムスタンプ付加手段１５は、ＡＬ−ＦＥＣブロック９０に含まれるソースパケット９１と、タイムスタンプＴｓが付加された冗長パケット９２とを、送信手段１６に出力する。
【００５４】
図１に戻り、パケット送信装置１の構成について説明を続ける。
送信手段１６は、タイムスタンプ付加手段１５からソースパケット９１及び冗長パケット９２が入力され、ネットワークＮを介して、このソースパケット９１及び冗長パケット９２をパケット受信装置２に送信するものである。
【００５５】
具体的には、送信手段１６は、ソースパケット９１及び冗長パケット９２に、ＩＰ（Internet Protocol）ヘッダ及びＵＤＰ（User Datagram Protocol）ヘッダを付加し、ＩＰパケットを生成する。そして、送信手段１６は、ネットワークＮに応じた伝送路符号化処理及び変調処理を行って、生成したＩＰパケットを送信する。
【００５６】
ここで、送信手段１６は、ＩＰパケットをＩＰデータフローとして送信してもよい。このＩＰデータフローとは、ＩＰパケットの送信元ＩＰアドレス、宛先ＩＰアドレス、ネクストヘッダ種別、送信元ポート番号、及び、宛先ポート番号の５つの情報が同一の組み合わせとなる一連のＩＰパケットの集合である。
【００５７】
［パケット受信装置の構成］
図１，図５を参照し、パケット受信装置２の構成について説明する。
パケット受信装置２は、パケット送信装置１からソースパケット９１及び冗長パケット９２を受信し、ロスしたソースパケット９１をＡＬ−ＦＥＣ復元処理で復元し、ソースパケット９１に含まれるアクセスユニットをデコードするものである。
【００５８】
このため、パケット受信装置２は、受信手段２１と、ブロック化手段２２と、パケットロス検出手段２３と、ＡＬ−ＦＥＣ復元処理手段２４と、多重分離手段２５と、ＡＶデコーダ（デコーダ）２６とを備える（図１）。
【００５９】
また、パケット受信装置２では、受信手段２１がバッファ（IP pkt buffer）２１ａを備え、ブロック化手段２２がバッファ（ATS pkt buffer 1）２２ａ及びバッファ（Reorder buffer）２２ｂを備え、多重分離手段２５がバッファ（ATS pkt buffer 2）２５ａ及びバッファ（Media unit buffer）２５ｂ，２５ｃを備える（図５）。
【００６０】
受信手段２１は、ネットワークＮを介して、パケット送信装置１からソースパケット９１と、タイムスタンプＴｓが付加された冗長パケット９２とを受信するものである。
具体的には、受信手段２１は、ネットワークＮに応じた復調処理及び伝送路復号処理を行ってＩＰパケットを受信し、バッファ（IP pkt buffer）２１ａに蓄積する。
【００６１】
ブロック化手段２２は、受信手段２１が受信したソースパケット９１と冗長パケット９２との集合であるＡＬ−ＦＥＣブロック９０を生成するものである。
具体的には、ブロック化手段２２は、バッファ２１ａに蓄積されたＩＰパケットからＩＰヘッダ及びＵＤＰヘッダを取り除き、ソースパケット９１及び冗長パケット９２を抽出してバッファ２２ａに蓄積する。
【００６２】
これらソースパケット９１及び冗長パケット９２は、ネットワークＮにおいて、ＩＰパケットの到着順序の入れ替わり、到着時間にジッタを含む可能性がある。このため、ブロック化手段２２は、バッファ２２ａに蓄積されたソースパケット９１及び冗長パケット９２を、送信順（つまり、シーケンス番号Ｓｎの順）に並び替えてバッファ２２ｂに蓄積する。
【００６３】
また、ブロック化手段２２は、バッファ２２ｂに蓄積されたソースパケット９１及び冗長パケット９２から、ブロック化手段１３と同一内容で設定されたブロック生成規則に従って、送信時と同一のＡＬ−ＦＥＣブロック９０を生成する。そして、ブロック化手段２２は、生成したＡＬ−ＦＥＣブロック９０をパケットロス検出手段２３に出力する。
【００６４】
パケットロス検出手段２３は、ブロック化手段２２が生成したＡＬ−ＦＥＣブロック９０ごとに、パケットロスを検出するものである。
具体的には、パケットロス検出手段２３は、各ＡＬ−ＦＥＣブロック９０に含まれるソースパケット９１のシーケンス番号Ｓｎの欠番により、パケットロスを検出する。つまり、パケットロス検出手段２３は、欠番したシーケンス番号Ｓｎのソースパケット９１がロスしたとして検出する。
【００６５】
そして、パケットロス検出手段２３は、パケットロスが検出されたソースパケット９１のシーケンス番号Ｓｎを格納したパケットロス検出情報を生成する。さらに、パケットロス検出手段２３は、入力されたＡＬ−ＦＥＣブロック９０と、生成したパケットロス検出情報とを、ＡＬ−ＦＥＣ復元処理手段２４に出力する。
【００６６】
ＡＬ−ＦＥＣ復元処理手段２４は、パケットロス検出手段２３から入力されたパケットロス検出情報を参照して、冗長パケット９２のタイムスタンプＴｓが示す開始時刻において、ＡＬ−ＦＥＣブロック９０にＡＬ−ＦＥＣ復元処理を施すことで、パケットロスが発生したソースパケット９１を復元するものである（図５のＤＦＥＣ）。
このＡＬ−ＦＥＣ処理は、ＡＬ−ＦＥＣブロック９０からロスしたソースパケットを復元する処理であり、例えば、ＸＯＲ演算である。
【００６７】
具体的には、ＡＬ−ＦＥＣ復元処理手段２４は、ＡＬ−ＦＥＣブロック９０ごとにＡＬ−ＦＥＣ復元処理を行う。まず、ＡＬ−ＦＥＣ復元処理手段２４は、ＡＬ−ＦＥＣブロック９０の冗長パケット９２の何れかタイムスタンプＴｓを抽出する。次に、ＡＬ−ＦＥＣ復元処理手段２４は、このタイムスタンプＴｓの開始時刻がクロックに一致するまで待つ。そして、ＡＬ−ＦＥＣ復元処理手段２４は、開始時刻がクロックに一致したとき、ロスしていないソースパケット９１と冗長パケット９２とに対してＸＯＲ演算を行い、ロスしたソースパケット９１を復元する。
【００６８】
そして、ＡＬ−ＦＥＣ復元処理手段２４は、ＡＬ−ＦＥＣブロック９０に含まれているソースパケット９１と、復元したソースパケット９１とをバッファ２５ａに蓄積する。
なお、ＡＬ−ＦＥＣ復元処理手段２４は、ＡＬ−ＦＥＣブロック９０でパケットロスが検出されなかった場合、ＡＬ−ＦＥＣブロック９０に含まれるソースパケット９１のみをバッファ２５ａに蓄積する。
【００６９】
多重分離手段２５は、受信手段２１が受信したソースパケット９１と、ＡＬ−ＦＥＣ復元処理手段２４が復元したソースパケット９１とのペイロードＰｙから、映像のアクセスユニットと、音声のアクセスユニットとを分離するものである。
【００７０】
具体的には、多重分離手段２５は、バッファ２５ａに蓄積されたソースパケット９１のペイロードＰｙを抽出し、抽出したペイロードＰｙを結合してアクセスユニットを取り出す。また、多重分離手段２５は、取り出したアクセスユニットを、映像のアクセスユニットと、音声のアクセスユニットとに分離する。ここで、アクセスユニットは、パケット送信装置１において、メディアユニット形式でパケット化されている。従って、多重分離手段２５は、ソースパケット９１から分離した映像のアクセスユニットを、メディアユニット形式でバッファ２５ｂに蓄積する。また、多重分離手段２５は、ソースパケット９１から分離した音声のアクセスユニットを、メディアユニット形式でバッファ２５ｃに蓄積する。
【００７１】
ＡＶデコーダ２６は、多重分離手段２５で分離された映像のアクセスユニットと、音声のアクセスユニットとを、ＡＶエンコーダ１１と同様のデコード方式よってデコードするものである。
【００７２】
具体的には、ＡＶデコーダ２６は、ＭＰＥＧ−２  Ｖｉｄｅｏを用いて、バッファ２５ｂから映像のアクセスユニットを読み出して、デコードする（図５のＤＶ）。また、ＡＶデコーダ２６は、ＭＰＥＧ−２  ＡＡＣを用いて、バッファ２５ｃから音声のアクセスユニットを読み出して、デコードする（図５のＤＡ）。このアクセスユニットには、ＣＴＳとＤＴＳの両方、又は、ＣＴＳのみが付加されている。従って、ＡＶデコーダ２６は、これらが示す時刻で、映像及び音声のデコード及び提示処理を行って、映像及び音声を再生することになる。
なお、ＡＶデコーダ２６は、アクセスユニットにＣＴＳだけが付加されている場合、ＤＴＳ及びＣＴＳを同一時刻として扱う。
【００７３】
［パケット送信装置の動作］
図６を参照して、パケット送信装置１の動作について説明する（適宜図１参照）。
パケット送信装置１は、ＡＶエンコーダ１１によって、入力信号をエンコードして、映像のアクセスユニットと、音声のアクセスユニットとを生成する（ステップＳ１１）。
【００７４】
パケット送信装置１は、多重化手段１２によって、映像及び音声のアクセスユニットを多重化し、多重化されたアクセスユニットがペイロードＰｙに格納されたソースパケットを生成する（ステップＳ１２）。
パケット送信装置１は、ブロック化手段１３によって、ソースパケットの集合であるＡＬ−ＦＥＣブロックを生成する（ステップＳ１３）。
パケット送信装置１は、ＡＬ−ＦＥＣ処理手段１４によって、ＡＬ−ＦＥＣブロックにＡＬ−ＦＥＣ処理を施すことで、冗長パケットを生成する（ステップＳ１４）。
【００７５】
パケット送信装置１は、タイムスタンプ付加手段１５によって、同一のＡＬ−ＦＥＣブロック９０に含まれるソースパケット９１のペイロードＰｙに格納されたアクセスユニットから、最も早い時刻となるＣＴＳ又はＤＴＳを抽出する。そして、パケット送信装置１は、タイムスタンプ付加手段１５によって、抽出したＣＴＳ又はＤＴＳが示す時刻をタイムスタンプＴｓとして、同一のＡＬ−ＦＥＣブロック９０の冗長パケット９２に付加する（ステップＳ１５）。
【００７６】
パケット送信装置１は、送信手段１６によって、ネットワークＮを介して、ソースパケット９１と、タイムスタンプＴｓが付加された冗長パケット９２とを、ＩＰパケットとして、パケット受信装置２に送信する（ステップＳ１６）。
【００７７】
［パケット受信装置の動作］
図７を参照して、パケット受信装置２の動作について説明する（適宜図１参照）。
パケット受信装置２は、受信手段２１によって、ネットワークＮを介して、パケット送信装置１からソースパケット９１と、タイムスタンプＴｓが付加された冗長パケット９２とを、ＩＰパケットとして、受信する（ステップＳ２１）。
【００７８】
パケット受信装置２は、ブロック化手段２２によって、受信手段２１が受信したソースパケット９１と冗長パケット９２との集合であるＡＬ−ＦＥＣブロック９０を生成する（ステップＳ２２）。
【００７９】
パケット受信装置２は、パケットロス検出手段２３によって、ブロック化手段２２が生成したＡＬ−ＦＥＣブロック９０ごとに、パケットロスを検出する（ステップＳ２３）。
ここで、パケットロスが検出された場合（ステップＳ２３でＹｅｓ）、パケット受信装置２は、ステップＳ２４の処理に進む。
一方、パケットロスが検出されない場合（ステップＳ２３でＮｏ）、パケット受信装置２は、ステップＳ２５の処理に進む。
【００８０】
パケット受信装置２は、ＡＬ−ＦＥＣ復元処理手段２４によって、冗長パケット９２のタイムスタンプＴｓが示す時刻において、ＡＬ−ＦＥＣブロック９０にＡＬ−ＦＥＣ復元処理を施すことで、パケットロスが発生したソースパケット９１を復元する（ステップＳ２４）。
【００８１】
パケット受信装置２は、受信手段２１が受信したソースパケット９１と、ＡＬ−ＦＥＣ復元処理手段２４が復元したソースパケット９１とのペイロードＰｙから、映像のアクセスユニットと、音声のアクセスユニットとを分離する（ステップＳ２５）。
パケット受信装置２は、ＡＶデコーダ２６によって、多重分離手段２５で分離された映像のアクセスユニットと、音声のアクセスユニットとをデコードする（ステップＳ２６）。
【００８２】
以上のように、本発明の実施形態に係るパケット伝送システム１００は、パケット送信装置１がＡＬ−ＦＥＣ復元処理を行うタイミングをパケット受信装置２に指示し、パケット受信装置２がそのタイミングでＡＬ−ＦＥＣ復元処理を行う。そして、パケット伝送システム１００では、ＡＬ−ＦＥＣ復元処理を行うタイミング（タイムスタンプＴｓ）が、ＣＴＳ及びＤＴＳのうち最も早い時刻（デコードの時刻）に設定される。これによって、パケット伝送システム１００は、ＡＬ−ＦＥＣ処理からデコードまでの時間が短くなるので、バッファリング遅延が最小限に抑えられ、結果的に、パケット受信装置２のスタートアップ遅延を抑制することができる。
【００８３】
すなわち、パケット伝送システム１００は、従来では別々に扱っていたメディアコーディングレイヤ(映像及び音声のエンコードレイヤ)と、伝送レイヤ（ＩＰの伝送レイヤ）とを一緒に考えたものと言える。
【００８４】
（変形例）
以上、本発明の実施形態について説明したが、本発明はこれに限定されるものではなく、その趣旨を変えない範囲で実施することができる。実施形態の変形例を以下に示す。
【００８５】
パケット受信装置２は、バッファ２１ａ〜２５ｂに蓄積されたデータを削除するバッファ削除手段（不図示）を備えてもよい。この場合、バッファ削除手段は、ＡＬ−ＦＥＣブロック９０に含まれる冗長パケット９２のタイムスタンプＴｓがメディア処理の時刻を経過すると、バッファ２１ａ〜２５ｂに蓄積されたデータを即座に削減できるため、パケット受信装置２のバッファ容量を節約することができる。
【００８６】
タイムスタンプ付加手段１５は、抽出したＣＴＳ又はＤＴＳから予め設定された値（例えば、１０ミリ秒）だけ前の時刻を、タイムスタンプＴｓとして設定してもよい。この場合、パケット送信装置１は、パケット受信装置２におけるＡＬ−ＦＥＣ復元処理の遅延を考慮して、そのタイミングをパケット受信装置２に指示できるため、スタートアップ遅延を最小限にすることができる。
【００８７】
また、パケット伝送システム１００は、ＡＬ−ＦＥＣ処理及びＡＬ−ＦＥＣ復元処理として、ＸＯＲ演算の他、リードソロモン符号、ＬＤＰＣ符号等のブロック訂正符号を用いてもよい。この場合、パケット伝送システム１００は、ＡＬ−ＦＥＣ処理及びＡＬ−ＦＥＣ復元処理として何れのブロック訂正符号を用いるか、ネットワークＮでのパケットロス率、及び、ブロック化遅延の許容範囲に応じて、予め選択できる。
【００８８】
また、パケット伝送システム１００は、映像エンコード方式として、ＭＰＥＧ−４  ＡＶＣ（Advanced Video Coding）を利用し、多重化方式として、ＭＰＥＧ−２  Ｓｙｓｔｅｍを利用してもよい。
【００８９】
また、パケット送信装置１は、映像信号及び音声信号を多重化せずにパケット受信装置２に送信してもよい。具体的には、パケット送信装置１は、多重化手段１２の代わりにソースパケット生成手段（不図示）を備える。また、パケット送信装置１は、ソースパケット生成手段によって、映像及び音声で別々のメディアユニット列を生成した後、各メディアユニット列からＡＴＳパケットを生成する。そして、パケット送信装置１は、送信手段１６によって、映像及び音声のアクセスユニットが含まれるＩＰパケットを、別々のＩＰデータフローで送信する。
【００９０】
また、パケット送信装置１は、タイムスタンプ付加手段１５によって、同一のＡＬ−ＦＥＣブロック９０に含まれるソースパケット９１にもタイムスタンプを付加してもよい。この場合、ソースパケット９１及び冗長パケット９２が同じデータ構造になるため、システム管理上の都合がよい。
【００９１】
また、パケット送信装置１は、映像信号又は音声信号の何れか一方のみが入力信号として入力されてもよい。
また、パケット送信装置１は、同一のＡＬ−ＦＥＣブロック９０に含まれるソースパケット９１と冗長パケット９２との間で、連続したシーケンス番号Ｓｎを付加してもよい。
また、パケット伝送システム１００は、パケット送信装置１を２台以上備えてもよく、パケット受信装置２を２台以上備えてもよい。
【符号の説明】
【００９２】
１  パケット送信装置
１１  ＡＶエンコーダ（エンコーダ）
１２  多重化手段（ソースパケット生成手段）
１３  ブロック化手段
１４  ＡＬ−ＦＥＣ処理手段
１５  タイムスタンプ付加手段
１６  送信手段
２  パケット受信装置
２１  受信手段
２２  ブロック化手段
２３  パケットロス検出手段
２４  ＡＬ−ＦＥＣ復元処理手段
２５  多重分離手段
２６  ＡＶデコーダ（デコーダ）
１００  パケット伝送システム
【図１】
0005890208.tif 000002
【図２】
0005890208.tif 000003
【図３】
0005890208.tif 000004
【図４】
0005890208.tif 000005
【図５】
0005890208.tif 000006
【図６】
0005890208.tif 000007
【図７】
0005890208.tif 000008