一方向伝送路に用いる送信端末、受信端末及び伝送システム
【課題】ヘッダ情報量を少なくし、かつ、アプリケーション及び伝送媒体に応じて様々なブロックサイズに柔軟に対応する。
【解決手段】送信端末1が、ファイルをパケットに分割して一方向伝送路3を介して受信端末2へ送信する際に、属性情報生成部12は、ヘッダ情報内におけるブロック番号BNフィールド及びシーケンス番号SNフィールドのビット数を特定するためのデータを含む属性情報を生成する。また、ダウンロードヘッダ付加部14は、ブロック番号BN及びシーケンス番号BNを含むヘッダ情報を生成し、このヘッダ情報を属性情報及びユニットに付加する。これにより、属性情報とユニットとは、ブロック番号BN及びシーケンス番号SNによって区別することができる。また、属性情報により、ブロック番号BNフィールド及びシーケンス番号SNフィールドのビット数をファイル毎に変更することができる。
【解決手段】送信端末1が、ファイルをパケットに分割して一方向伝送路3を介して受信端末2へ送信する際に、属性情報生成部12は、ヘッダ情報内におけるブロック番号BNフィールド及びシーケンス番号SNフィールドのビット数を特定するためのデータを含む属性情報を生成する。また、ダウンロードヘッダ付加部14は、ブロック番号BN及びシーケンス番号BNを含むヘッダ情報を生成し、このヘッダ情報を属性情報及びユニットに付加する。これにより、属性情報とユニットとは、ブロック番号BN及びシーケンス番号SNによって区別することができる。また、属性情報により、ブロック番号BNフィールド及びシーケンス番号SNフィールドのビット数をファイル毎に変更することができる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、送信端末から受信端末へ向かう一方向伝送路において、ファイルをパケット化して伝送する伝送技術に関する。
【背景技術】
【0002】
従来、放送伝送路等の一方向伝送路を用いてコンテンツをダウンロードするサービスが知られている。このようなコンテンツダウンロードサービスにおいては、ファイルを分割し複数のパケットに格納して伝送する方式がとられている。このファイル伝送方式では、送信端末が、FEC(Forward Error Correction)と呼ばれる誤り訂正手法によって、ファイルを分割して生成したパケットに基づいて冗長なパケットを生成し送信する。そして、受信端末が、送信端末により送信された冗長パケットを受信し、欠損したパケットを復元する。これにより、リターンチャネル(受信端末から送信端末への上り回線)を用いることなく、一方向伝送路において一定のファイル伝送品質を維持することができる。
【0003】
FECの誤り訂正手法には、例えば、一定数のパケットに対してブロック符号化を施し、冗長なパケットを生成するブロック符号化手法がある。このブロック符号化手法では、符号化を施すブロックのサイズが様々であるから、ファイルサイズ及びブロック符号化方式によって伝送品質が大きく異なってしまう。ブロック符号化方式の例としては、RFC5053に示されるRaptor符号、RFC5170に示されるLDPC符号、リードソロモン符号、SMPTE Specification2022−1に示される“Forward Error Correction for Real−time Video/Audio Transport Over IP Networks”等が知られている。
【0004】
このように、ファイルを分割してパケット化し、一方向伝送路を介してパケットを伝送するシステムにおいては、FECの誤り訂正手法を用いることにより、欠損したパケットを復元し、一定のファイル伝送品質を維持している。
【0005】
ところで、一方向伝送路を用いたファイル伝送方式として、FLUTEが知られている(非特許文献1及び特許文献1を参照)。FLUTEは、ファイルをパケット化して伝送する際に、ファイルの属性情報及びファイル本体を、それぞれ一つのオブジェクトとして伝送するものである。ファイルの属性情報は、FDT(File Delivery Table)として記述され、ファイル本体と同様に一つのオブジェクトとして扱われる。つまり、送信端末は、ファイルの属性情報のFLUTEパケットをオブジェクトとして送信し、その後に引き続いて、ファイル本体のFLUTEパケットをオブジェクトとして送信する。
【0006】
また、放送伝送路においても、蓄積型放送サービスのための新多重化方式を用いてIPパケットを多重化することができる(非特許文献2を参照)。このように、従来から、コンテンツファイルをIPパケットに分割して伝送する仕組みが検討されている。
【0007】
【非特許文献1】「FLUTE-File Delivery over Unidirectional Transport」、RFC3926
【非特許文献2】“情報通信審議会情報通信技術分科会(第60回) 資料60−1−2放送システム委員会報告”、[online]、平成20年7月29日、情報通信審議会、[平成20年11月12日検索]、インターネット<URL:http://www.soumu.go.jp/joho_tsusin/policyreports/joho_tsusin/bunkakai/080729_1.html>
【特許文献1】米国特許出願公開第2004/0153468号明細書
【発明の開示】
【発明が解決しようとする課題】
【0008】
FLUTEのファイル伝送方式を用いる場合、前述のとおり、ファイルの属性情報がファイル本体と同様に一つのオブジェクトとして扱われるため、一つのファイルを伝送する際に最低でも2つのオブジェクトの伝送が必要となる。このため、ファイルの属性情報とファイル本体とをオブジェクトIDで識別する必要があることから、FLUTEパケットには、オブジェクトを識別するオブジェクトIDに加え、オブジェクトが伝送されるセッションを識別するための情報(TSI:Transport Session Identifier)をパケット毎に付加する必要があった。この場合、個別のFLUTEパケットは、そのヘッダに、少なくとも、セッションを識別するための情報(TSI)、オブジェクトを識別するための情報(TOI:Transport Object Identifier)、ブロックの番号(Source Block Number)、及び、ブロック内のデータを識別する番号(Encoding Symbol ID)を備える必要がある。しかし、ヘッダはできる限り少ないデータ量とすることが、伝送効率の向上及び処理負荷の低減の点からして望ましい。
【0009】
ここで、ブロックとは、ファイルを複数のデータユニットに分割し、データユニットのパケットをそれぞれ伝送する場合に、伝送順にパケットを並べたときのパケットの集合またはデータユニットの集合をいう。
【0010】
また、ブロックサイズ(一つのブロック内における全てのデータユニットのデータ量)はアプリケーション及び伝送媒体によって異なるから、一つのファイルにおけるブロック数も異なり、結果として、ブロックを特定するための番号(ブロック番号)を格納するフィールドのビット数もアプリケーション及び伝送媒体によって異なるものとなる。しかし、FLUTEのファイル伝送方式を用いる場合はブロックサイズが固定(16ビット)であるから、様々なブロックサイズに柔軟に対応することができなかった。例えば、衛星放送によりファイルを伝送する場合、伝送路の品質は比較的良好であるから、FECの誤り訂正手法により生成される冗長パケットの数は少なくて済むか、またはFECの誤り訂正手法を用いなくて済む。したがって、一つのブロックで送信できるファイル本体のデータ量が多くなり(データユニットの数が多くなり)、一つのファイルにおけるブロック数をさほど増やす必要がないから、ブロック番号のフィールドのビット数は少なくて済む。一方、携帯電話によりファイルを伝送する場合、伝送路の品質は比較的良好でないから、FECの誤り訂正手法により多数の冗長パケットを生成する必要がある。したがって、一つのブロックで送信できるデータ量が少なくなり(データユニットの数が少なくなり)、一つのファイルのブロック数を増やす必要があるから、ブロック番号のフィールドのビット数は多くする必要がある。このように、FLUTEのファイル伝送方式を用いる場合は、アプリケーション及び伝送媒体に応じて適切なブロックサイズに対応できる柔軟性がなかった。
【0011】
そこで、本発明は前記課題を解決するためになされたものであり、その目的は、ファイルをパケット化し一方向伝送路を介して伝送する際に、ヘッダ情報量を少なくし、かつ、アプリケーション及び伝送媒体に応じて、様々なブロックサイズに柔軟に対応することが可能な送信端末、受信端末及び伝送システムを提供することにある。
【課題を解決するための手段】
【0012】
前記課題を解決するため、本発明による送信端末は、ファイルの属性情報を生成し、ファイル本体を分割してユニットを生成し、前記属性情報をパケットに格納して送信すると共に、複数の前記ユニットからなるブロック毎に前記ユニットをパケットに格納して送信する一方向伝送路に用いる送信端末において、前記ブロックを特定するためのブロック番号が割り当てられるフィールドのビット数と前記パケットに格納される属性情報及びユニットを特定するためのシーケンス番号が割り当てられるフィールドのビット数と、を定めるデータを含む属性情報を生成する属性情報生成部と、前記ブロック番号及びシーケンス番号を含むヘッダ情報を生成し、このヘッダ情報を前記属性情報及びユニットに付加するヘッダ情報付加部と、を備えたことを特徴とする。
【0013】
また、本発明による送信端末は、前記ヘッダ情報付加部が、ブロック番号及びシーケンス番号を0とするヘッダ情報を生成し、このヘッダ情報を前記属性情報に付加する、ことを特徴とする。
【0014】
また、本発明による送信端末は、前記属性情報生成部が、前記ブロック番号が割り当てられたフィールドのビット数及び前記シーケンス番号が割り当てられたフィールドのビット数を含む属性情報を生成し、または、前記ブロック番号及びシーケンス番号の両番号が割り当てられたフィールドのビット数が固定の場合に、前記ブロック番号及びシーケンス番号のうちのいずれか一方の番号が割り当てられたフィールドのビット数を含む属性情報を生成する、ことを特徴とする。
【0015】
また、本発明による送信端末は、前記属性情報を分割し、前記分割した属性情報をパケットにそれぞれ格納して送信する場合に、前記属性情報生成部が、さらに、前記属性情報を分割した数を特定するためのデータを含む属性情報を生成する、ことを特徴とする。
【0016】
また、本発明による送信端末は、前記属性情報のシーケンス番号に引き続く番号をユニットのシーケンス番号としたヘッダ情報を生成するヘッダ情報付加部を備え、前記ブロック間で同一の属性情報を、それぞれのブロックを構成するユニットの前に送信する、ことを特徴とする。
【0017】
また、本発明による送信端末は、前記属性情報を、ブロックを構成するユニットの前に送信する場合に、属性情報のシーケンス番号に引き続く番号をユニットのシーケンス番号としたヘッダ情報を生成するヘッダ情報付加部を備え、前記属性情報を、全てのブロックのうちの少なくとも先頭のブロックを構成するユニットの前に送信する、ことを特徴とする。
【0018】
また、本発明による送信端末は、前記属性情報生成部が、前記ブロック番号及びシーケンス番号のビット数を特定するためのデータに加えて、ファイルの名前及び長さを含む属性情報を生成する、ことを特徴とする。
【0019】
また、本発明による受信端末は、ファイルの属性情報が格納されたパケット、及び、ファイル本体を分割して得られたブロック毎のユニットが格納されたパケットを一方向伝送により受信し、元のファイルに復元する受信端末において、前記属性情報には、前記ブロックを特定するためのブロック番号が割り当てられるフィールドのビット数と、前記パケットに格納される属性情報及びユニットを特定するためのシーケンス番号が割り当てられるフィールドのビット数とを定めるためのデータが含まれており、前記属性情報及びユニットには、前記ブロック番号及びシーケンス番号を含むヘッダ情報が付加されており、前記属性情報に基づいて、ヘッダ情報に含まれるブロック番号及びシーケンス番号を解析し、属性情報及びユニットを取得するヘッダ情報解析部と、前記ヘッダ情報解析部により取得されたユニットを、前記ブロック番号及びシーケンス番号に基づいて整列及び結合し、元のファイルに復元するファイル復元部と、を備えたことを特徴とする。
【0020】
また、本発明による受信端末は、前記ヘッダ情報解析部が、ヘッダ情報に含まれるブロック番号及びシーケンス番号が0のときに、属性情報を取得する、ことを特徴とする。
【0021】
また、本発明による受信端末は、前記ファイル復元部が、前記ヘッダ情報解析部により属性情報を取得した後のユニットについて、元のファイルに復元する、ことを特徴とする。
【0022】
また、本発明による伝送システムは、前記送信端末と前記受信端末とを備えて構成される、ことを特徴とする。
【発明の効果】
【0023】
以上のように、本発明によれば、ブロック番号及びシーケンス番号を含むヘッダ情報を属性情報及びユニットに付加するようにした。これにより、属性情報とユニットとは、ブロック番号及びシーケンス番号によって区別することができる。したがって、属性情報とファイル本体とを識別するための専用の情報を付加する必要がなく、FLUTEのヘッダに比べてヘッダ情報量を少なくすることができる。つまり、伝送効率の向上及び処理負荷の低減を実現することができる。また、ブロック番号及びシーケンス番号が割り当てられるヘッダ情報内のビット数について、それぞれのビット数を特定するためのデータを属性情報の一部として扱うようにした。これにより、ブロック番号及びシーケンス番号に割り当てられるビット数をファイル毎に変更することができる。したがって、そのビット数はブロックサイズを規定するものであるから、アプリケーション及び伝送媒体に応じて、様々なブロックサイズに柔軟に対応することができる。
【発明を実施するための最良の形態】
【0024】
以下、本発明を実施するための最良の形態について図面を用いて詳細に説明する。
〔伝送システム〕
図1は、本発明の実施形態による送信端末及び受信端末を含む伝送システムの概略構成を示す図である。この伝送システムは、例えば、高度BSデジタル放送におけるダウンロードサービスを実現するシステムであり、送信端末1及び受信端末2により構成される。送信端末1及び受信端末2は一方向伝送路3により接続される。
【0025】
送信端末1は、コンテンツ及びメタデータを構成するファイルをパケット化し、ファイルの属性情報及びファイル本体をパケットに格納し、一方向伝送路3を介して受信端末2へ送信する装置である。受信端末2は、送信端末1により送信されたパケットを、一方向伝送路3を介して受信し、元のファイルに復元する装置である。一方向伝送路3は、例えば放送伝送路である。
【0026】
〔送信端末/構成〕
次に、図1に示した伝送システムの送信端末1について説明する。まず、送信端末1の構成について説明する。図2は、送信端末1の構成を示すブロック図である。この送信端末1は、記憶部11、属性情報生成部12、ユニット生成部13、ダウンロードヘッダ付加部(ヘッダ情報付加部)14及びパケット送信部15を備えている。
【0027】
記憶部11には、一方向伝送路3を用いて受信端末2へ送信されるコンテンツ及びメタデータを構成するファイルが記憶されている。属性情報生成部12は、記憶部11からファイルを読み出し、そのファイルについて、ファイル本体の名前及びファイルの長さ等を含む属性情報を生成する。
【0028】
ユニット生成部13は、記憶部11からファイルを読み出し、そのファイル本体を一定サイズのデータユニットに分割し、複数のデータユニットを生成する。そして、ユニット生成部13は、生成した複数のデータユニットに基づいてパリティユニットを生成し、データユニット及びパリティユニットからなるブロックを生成する。
【0029】
ダウンロードヘッダ付加部14は、属性情報生成部12により生成された属性情報に対し、ダウンロードヘッダを付加する。また、ユニット生成部13により生成されたデータユニット及びパリティユニットに対しても、ダウンロードヘッダを付加する。
【0030】
パケット送信部15は、ダウンロードヘッダ付加部14によりダウンロードヘッダが付加された属性情報、データユニット及びパリティユニットにIPヘッダ及びUDPヘッダを付加してパケットを生成し、または圧縮ヘッダを付加してパケットを生成し、受信端末2へ送信する。
【0031】
このように、送信端末1は、ファイルの属性情報を生成してダウンロードヘッダを付加すると共に、ファイル本体を分割したデータユニットからパリティユニットを生成し、データユニット及びパリティユニットにそれぞれダウンロードヘッダを付加する。そして、送信端末1は、パケットを生成し、一方向伝送路3を介して受信端末2へ送信する。
【0032】
〔送信端末/処理〕
次に、送信端末1の処理について説明する。図3は、送信端末1の処理を示すフロー図であり、送信端末1が一方向伝送路3を介してパケットを送信する際の、ファイルをパケット化するフローが示されている。また、図4は、属性情報、ユニット及びブロックの生成フローを説明する模式図である。
【0033】
まず、送信端末1の属性情報生成部12は、記憶部11からファイルを読み出し、少なくともファイル本体の名前及びファイルの長さを含む属性情報を生成する(ステップS1)。この場合、属性情報生成部12は、生成する属性情報のサイズが後述するデータユニットのサイズ(予め設定されている)よりも大きい場合に、生成した属性情報を、データユニットのサイズに分割する。
【0034】
図5は、属性情報の構成を示す図である。図5に示すように、属性情報は、「ダウンロードヘッダにおけるBlock Number(ブロック番号BN)フィールドのビット数」「ブロック内のパケット数」「属性情報パケットの最終シーケンス番号」「FEC方式を特定するための識別子」「URI(ファイル本体の名前)」「File Length(ファイルの長さ)」「Content Type(コンテンツタイプ)」「ファイルを伝送する最終ブロック番号及び最終ブロックの最終シーケンス番号」「格納先のディレクトリ構成」「Content Encoding(コンテンツエンコーディング)」「Transfer Length(伝送長)」「Content MD5(コンテンツMD5)」から構成される。
【0035】
属性情報生成部12は、読み出したファイルに基づいて、図5に示す各構成要素を設定し、属性情報を生成する。具体的には、属性情報生成部12は、一方向伝送路3の種類及び特性に応じて予め設定されたビット長を、「ダウンロードヘッダにおけるブロック番号BNフィールドのビット数」に設定する。このブロック番号BNフィールドのビット数及びブロック番号BNの詳細については後述する。
【0036】
属性情報生成部12は、予め設定された、ブロック内のパケット数を、「ブロック内のパケット数」に設定する。「ブロック内のパケット数」とは、ファイル本体から分離されたデータユニットとデータユニットから生成されたパリティユニットとの集合体であるブロックにおいて、そのブロック内で送信され得るパケットの数である。
【0037】
属性情報生成部12は、生成した属性情報を分割した場合、分割した属性情報の数を「属性情報パケットの最終シーケンス番号」に設定する。尚、属性情報のサイズがデータユニットのサイズ以下の場合は、「属性情報パケットの最終シーケンス番号」は0となる。
【0038】
属性情報生成部12は、ファイルのサイズを「File Length(ファイルの長さ)」に設定し、コンテンツのタイプを「Content Type(コンテンツタイプ)」に設定する。さらに、属性情報生成部12は、後述するユニット生成部13により生成されるデータユニット及びパリティユニットの数、予め設定されたデータユニットのサイズ等に基づいて、ブロックの数及びシーケンスの数を算出し、これらを「ファイルを伝送する最終ブロック番号及び最終ブロックの最終シーケンス番号」に設定する。
【0039】
また、属性情報生成部12は、ファイルを符号化して伝送する場合、その方式を「Content Encoding(コンテンツエンコーディング)」に設定し、ファイルを符号化して伝送する場合に元のファイルの長さと伝送時のファイルの長さが異なるため、伝送時のファイルの長さ「Transfer Length(伝送長)」を設定する。また、受信側がファイルを正しく受信できたか否かをチェックするためのチェックサム「Content MD5(コンテンツMD5)」を設定する。さらに、「FEC方式を特定するための識別子」「URI(ファイル本体の名前)」「格納先のディレクトリ構成」も設定する。
【0040】
図3に戻って、ユニット生成部13は、記憶部11からファイルを読み出し(属性情報生成部12が読み出したファイルと同一のファイルを読み出し)、予め設定された一定サイズのデータユニットにファイル本体を分割する(ステップS2、図4(1))。データユニットのサイズは自由に設定することができ、例えば、1344バイト、4032バイトとする。
【0041】
ユニット生成部13は、複数に分割したデータユニットを、L×D個毎に区分し、L列D行の2次元に整列させる(ステップS3、図4(2))。この2次元のデータユニットの集合体が、ブロックの元になる。
【0042】
また、ユニット生成部13は、整列させた2次元のデータユニットにおいて、列方向及び行方向毎にそれぞれのデータユニットからパリティユニットを生成する(ステップS4、図4(3))。例えば、ユニット生成部13は、列方向毎に全てのデータユニットについてmod2の加算を行い列方向毎のパリティユニットを生成する。同様に、行方向毎の全てのデータユニットについてmod2の加算を行い行方向毎のパリティユニットを生成する。
【0043】
ユニット生成部13は、ステップS3にて整列した2次元のデータユニットの集合体、及び、ステップS4にて生成した列方向及び行方向のパリティユニットを用いて、ブロックを生成する(ステップS5、図4(3))。
【0044】
そして、ダウンロードヘッダ付加部14は、属性情報生成部12により生成された属性情報に対し、ダウンロードヘッダを付加すると共に、ユニット生成部13により生成されたデータユニット及びパリティユニットに対しても、ダウンロードヘッダを付加する(ステップS6,S7)。
【0045】
(ダウンロードヘッダの付加)
図6は、ダウンロードヘッダの構成を示す図である。図6に示すように、ダウンロードヘッダは、3つのフィールドからなる64ビットのヘッダであり、「Transport File ID(トランスポートファイルID:TFID)」「Block Number(ブロック番号BN)」「Sequence Number(シーケンス番号SN)」から構成される。「TFID」フィールドのビット数(フィールド幅)は32である。「ブロック番号BN」及び「シーケンス番号SN」フィールドのビット数は合計32であるが、それぞれ可変長であり、一方向伝送路3の種類及び特性に応じて、または、伝送されるファイルに応じて予め設定される。また、一つのファイルを伝送中は、これらのフィールド幅は変更されず、固定値が用いられる。
【0046】
「TFID」は、伝送するファイルを一意に識別するためのラベルの役割を果たす。したがって、ダウンロードヘッダ付加部14は、同一のファイルの属性情報、データユニット及びパリティユニットに対して、同一の「TFID」を設定する。一方、異なるファイルの属性情報等に対して、異なる「TFID」を設定する。尚、前述のFLUTEでは、この「TFID」は「Transport Object Identifier(TOI)」に相当する。詳細については、前述の非特許文献1,2を参照されたい。
【0047】
「ブロック番号BN」は、伝送するファイルにおけるブロックの番号を示す。また、「シーケンス番号SN」は、属性情報(分割した場合はそれぞれの属性情報)の番号、及びブロック内のユニット(以下、データユニット及びパリティユニットを総称してユニットという。)の番号を示す。例えば、最初の属性情報に対してはBN=0,SN=0が設定され、属性情報に続くユニットには、最終の属性情報に対して設定されたSNに引き続くSNが設定される。
【0048】
具体的に説明すると、属性情報生成部12により1つの属性情報が生成された場合、ダウンロードヘッダ付加部14は、最初のブロック(BN=0)において、属性情報に対しBN=0,SN=0を設定する。そして、ダウンロードヘッダ付加部14は、最初のブロックの先頭のユニットに対しBN=0,SN=1を設定し、その次のユニットに対しBN=0,SN=2を設定する。シーケンス番号SNは、ユニットの数に応じて1ずつ増加する。そして、ダウンロードヘッダ付加部14は、次のブロック(BN=1)においても、最初のブロックにおける属性情報と同一の属性情報に対しBN=0,SN=0を設定する。そして、ダウンロードヘッダ付加部14は、そのブロック(BN=1)の先頭のユニットに対しBN=1,SN=1を設定し、その次のユニットに対しBN=1,SN=2を設定する。
【0049】
一方、属性情報生成部12により生成された属性情報が複数に分割された場合、ダウンロードヘッダ付加部14は、最初のブロック(BN=0)において、分割された最初の属性情報に対しBN=0,SN=0を設定し、次の属性情報に対しBN=0,SN=1を設定する。シーケンス番号SNは、属性情報の分割に応じて1ずつ増加する。そして、ダウンロードヘッダ付加部14は、最初のブロック(BN=0)の先頭のユニットに対しBN=0,SN=2を設定し、その次のユニットに対しBN=0,SN=3を設定する。シーケンス番号SNは、ユニットの数に応じて1ずつ増加する。ここで、属性情報生成部12により生成され分割された属性情報の数がn個の場合、それぞれの属性情報のシーケンス番号SNはSN=0,1,・・・,n−1になるから、最初のユニットのシーケンス番号SNはSN=nとなる。そして、ダウンロードヘッダ付加部14は、次のブロック(BN=1)においても、最初のブロックにおける属性情報と同一の属性情報のBN=0,SN=0,1,・・・を設定する。そして、ダウンロードヘッダ付加部14は、そのブロック(BN=1)の先頭のユニットに対しBN=1,SN=2(分割された属性情報の数が2個の場合)を設定し、その次のユニットに対しBN=1,SN=3を設定する。前述のとおり、シーケンス番号SNは、ユニットの数に応じて1ずつ増加し、最終の属性情報がSN=n−1の場合、最初のユニットはSN=nとなる。
【0050】
このように、ダウンロードヘッダ付加部14は、属性情報及びユニットに対し、TFID、ブロック番号BN及びシーケンス番号SNからなるダウンロードヘッダを付加する。この場合、ダウンロードヘッダ付加部14は、ユニット生成部13により生成された複数のブロックに対して同一の属性情報を割り付け、一つのブロックに対応する属性情報のうちの最初の属性情報に対し、BN=0,SN=0を統一して設定するようにした。これにより、受信端末2は、受信したパケットについて、ダウンロードヘッダにおけるブロック番号BN及びシーケンス番号SNの両フィールドを連結した32ビットのデータが0x0000であるか否かを判定する。そして、0x00000000であると判定した場合、ブロック番号BNフィールドのビット数及びシーケンス番号SNフィールドのビット数の設定に関わらず、このようなダウンロードヘッダを持つパケットが、ファイルの属性情報を含むパケット(最初の属性情報を含むパケット)であることを認識することができる。
【0051】
図7は、ダウンロードヘッダの構成例を示す図である。図7において(1)は、ブロックのサイズが大きい場合の構成例である。ブロックのサイズを大きく設定する場合は、ブロック内に多数のユニットが含まれるから、シーケンス番号SNフィールドの割り当てビット数を多くし、ブロック番号BNフィールドの割り当てビット数を少なくする。
【0052】
(2)は、ブロックのサイズが小さい場合の構成例である。ブロックのサイズを小さく設定する場合は、ブロック内に多数のユニットが含まれないから、シーケンス番号SNフィールドの割り当てビット数を少なくし、ブロック番号BNフィールドの割り当てビット数を多くする。
【0053】
(3)は、ファイルの属性情報に付加されるダウンロードヘッダの構成例であり、ブロック番号BN及びシーケンス番号SNがBN=0,SN=0である。属性情報生成部12により生成された属性情報が複数に分割される場合は、最初の属性情報に付加されるダウンロードヘッダを示している。
【0054】
このように、図5に示した属性情報に含まれる「ダウンロードヘッダにおけるブロック番号BNフィールドのビット数」の設定に従って、ダウンロードヘッダのブロック番号BN及びシーケンス番号SNフィールドの割り当てビット数を変更することができるから、一方向伝送路3の種類及び特性、または送信するファイルに応じたビット数とすることができ、柔軟に対応することができる。
【0055】
(パケットの生成)
図3に戻って、パケット送信部15は、ダウンロードヘッダ付加部14によりダウンロードヘッダが付加された属性情報及びユニットに対しヘッダを付加し、パケットを生成する(ステップS8)。そして、パケット送信部15は、生成したパケットを送信する(ステップS9)。
【0056】
図8は、パケットの構成を示す図である。(1)は、図1に示した一方向伝送路3がIPネットワークによる伝送路の場合におけるパケット構成を示している。パケット送信部15は、ダウンロードヘッダが付加された属性情報及びユニットをUDPペイロードに格納し、IPヘッダ及びUDPヘッダを付加し、(1)に示すパケットを生成して送信する。
【0057】
(2)は、一方向伝送路3が例えば高度BSデジタル放送の伝送路の場合におけるパケット構成を示している。パケット送信部15は、ダウンロードヘッダが付加された属性情報及びユニットをUDPペイロードに格納し、IPヘッダ及びUDPヘッダの代わりに圧縮ヘッダを生成し、この圧縮ヘッダを付加して(2)に示すパケットを生成して送信する。
【0058】
(圧縮ヘッダ)
次に、圧縮ヘッダの使用例について簡単に説明する。尚、高度BSデジタル放送の圧縮ヘッダのフォーマットについては、前述の非特許文献2における資料60−1−2「放送システム委員会報告」の別添答申案第31頁「2.3.2.2 IPパケットのヘッダ圧縮方式」を参照されたい。
【0059】
一般に、パケットのヘッダを圧縮する技術には、IPヘッダ圧縮フォーマットが用いられる。このIPヘッダ圧縮フォーマットとしては、RFC2508(Compressing IP/UDP/RTP Headers for Low−Speed Serial Links)やRFC3095(RObust Header Compression(ROHC):Framework and four profiles:RTP, UDP, ESP, and uncompressed)等に規定されたものが知られている。
【0060】
これらのヘッダ圧縮技術は、複数のパケットが連続する同一フローにおいて、パケットのヘッダに記述される情報が同一又は予測可能であるという性質を利用している。尚、ヘッダ圧縮されたパケットのヘッダには、最低限のヘッダ情報に加えて、フローを特定するためのコンテキストID(CID)が記述されている。
【0061】
具体的なヘッダ圧縮技術の例として、同一フローに属する全てのパケットに、ヘッダ情報の全てを含めることをしないで、一部のパケットには、ヘッダ情報の全て及びCIDを含め、その他のパケットには、ヘッダ情報の一部及びCIDを含めることとするものがある。ヘッダ情報の全て及びCIDを含むヘッダをフルヘッダといい、このフルヘッダが付加されたパケットをフルヘッダパケットという。また、ヘッダ情報の一部及びCIDを含むヘッダを圧縮ヘッダといい、この圧縮ヘッダが付加されたパケットを圧縮ヘッダパケットという。図8(2)が圧縮ヘッダパケットである。
【0062】
そして、このヘッダ圧縮技術では、送信端末1と受信端末2との間で、CIDとヘッダ情報の一部とを予め対応付けておいたCIDテーブルを共有しておく。そして、送信端末1から受信端末2へ、フルヘッダパケット及び圧縮ヘッダパケットを送信する。これにより、送信端末1と受信端末2との間で、CIDをキーとして、全てのヘッダ情報を共有することができる。
【0063】
このように、圧縮ヘッダは、送信端末1から受信端末2への同一フローのパケットに付加される情報であり、CIDをキーとしてヘッダ情報を共有するために用いられる。
【0064】
(パケットの送信順序)
次に、パケットの送信順序について説明する。図9は、パケットの送信順序の例を示す図である。図9に示すように、送信端末1のパケット送信部15は、ユニットの送信に先立ち、属性情報のパケットを送信する。具体的には、パケット送信部15は、ファイル1の送信において、ブロック番号BN=0におけるユニットの送信に先立ち、属性情報のパケット(ダウンロードヘッダのBN=0,SN=0)を送信し、引き続き、ブロック番号BN=0におけるユニットをそれぞれ送信する。そして、パケット送信部15は、ブロック番号BN=1におけるユニットの送信に先立ち、同一の属性情報のパケット(BN=0,SN=0のダウンロードヘッダが付加された属性情報のパケット)を送信し、引き続き、ブロック番号BN=1におけるユニットのパケットをそれぞれ送信する。このようにして、パケット送信部15は、最終ブロックのパケットを送信し、ファイル1の送信を終了する。
【0065】
尚、図9では、パケット送信部15は、ファイルの属性情報を、ブロック毎のユニットを送信する前にそれぞれ送信するようにしたが、ブロック番号BN=0のユニットを送信する前に1回だけ送信するようにしてもよい。また、ブロック番号BN=0、ブロック番号BN=2等の偶数のブロックを送信する前に送信するようにしてもよい。ファイルの属性情報を送信するタイミングは、ブロック番号BN=0を送信する前に加えて、その後の任意のブロックを送信する前に送信するようにしてもよい。ファイルの属性情報の送信回数を減らすことにより、一方向伝送路3において効率のよい伝送を実現することができる。
【0066】
〔受信端末/構成〕
次に、図1に示した伝送システムの受信端末2について説明する。まず、受信端末2の構成について説明する。図10は、受信端末2の構成を示すブロック図である。この受信端末2は、パケット受信部21、ダウンロードヘッダ解析部(ヘッダ情報解析部)22、ファイル復元部23及び記憶部24を備えている。
【0067】
パケット受信部21は、送信端末1により送信されたパケットを受信し、IPヘッダ等を取り除く等の受信処理を行い、ファイルの属性情報及びユニットをダウンロードヘッダ解析部22に出力する。
【0068】
ダウンロードヘッダ解析部22は、パケット受信部21からファイルの属性情報及びユニットを入力し、ファイルの属性情報及びユニットに付加されたダウンロードヘッダを解析し、ファイルの識別処理及び属性情報とユニットとを区別する処理等を行い、ファイルの属性情報及びそのファイルにおける全てのユニットを取得する。そして、ダウンロードヘッダ解析部22は、同一ファイルにおける識別情報及び全てのユニットをファイル復元部23に出力する。
【0069】
ファイル復元部23は、ダウンロードヘッダ解析部22から同一ファイルにおける属性情報及び全てのユニットを入力し、パリティユニットに基づいて欠損したデータユニットを復元し、データユニットを結合して元のファイルに復元する。そして、ファイル復元部23は、復元したファイルを記憶部24に書き込む。例えば、列方向及び行方向のそれぞれのデータユニットについてmod2の加算が行われパリティユニットが生成された場合には、ファイル復元部23は、一つの欠損したデータユニットを、1行または1列の中で、それ以外のデータユニット及びパリティユニットについてmod2の加算を行うことにより復元する。
【0070】
このように、受信端末2は、送信端末1により送信されたパケットを、一方向伝送路3を介して受信し、同一ファイルにおける属性情報及び全てのユニットに区別する。そして、受信端末2は、区別したユニットのうちのデータユニットをパリティユニットに基づいて復元し、データユニットを結合して元のファイルに復元する。
【0071】
〔受信端末/処理〕
次に、受信端末2の処理について説明する。図11は、受信端末2の処理を示すフロー図であり、受信端末2が一方向伝送路3からパケットを受信する際の、ファイルを復元するフローが示されている。
【0072】
まず、受信端末2のパケット受信部21は、ファイルの属性情報及びユニットが格納されたパケットを受信し、受信処理の後、ファイルの属性情報及びユニットの各データをダウンロードヘッダ解析部22に出力する(ステップS11)。
【0073】
ダウンロードヘッダ解析部22は、パケット受信部21からファイルの属性情報及びユニットの各データを入力し、その属性情報及びユニットに付加された64ビットのダウンロードヘッダを参照し、ダウンロードヘッダを構成する32ビットの「TFID」に基づいて、ファイルを識別する(ステップS12)。以下、「TFID」が同一のファイルについて、ステップS13〜S16の処理を行う。
【0074】
ダウンロードヘッダ解析部22は、識別したファイルの属性情報を取得済みであるか否かを判定し、取得済みでないと判定した場合、パケット受信部21から入力するデータについて、ダウンロードヘッダのブロック番号BN及びシーケンス番号SNがBN=0,SN=0であるか否かを判定し、BN=0,SN=0のデータを入力するまで待つ。そして、ダウンロードヘッダがBN=0,SN=0であることを判定した場合、そのデータは最初の属性情報であると認識し、最初の属性情報に含まれる「ダウンロードヘッダにおけるブロック番号BNフィールドのビット数」を参照し、ダウンロードヘッダに含まれる「TFID」の次の32ビットであるブロック番号BN及びシーケンス番号SNフィールドがどのような割合になっているかを認識する。そして、その後に入力するデータについて、ダウンロードヘッダに含まれる「TFID」が同じ場合のブロック番号BN及びシーケンス番号SNを特定する。そして、ダウンロードヘッダ解析部22は、最初の属性情報に含まれる「属性情報パケットの最終シーケンス番号」を参照し、その後に入力するデータのシーケンス番号SNが「属性情報パケットの最終シーケンス番号」と同一になるまでの間のデータを、同一ファイルにおける属性情報として取得する(ステップS13)。
【0075】
ダウンロードヘッダ解析部22は、属性情報に含まれる「ブロック内のパケット数」を参照し、ブロックにおける最後のユニットを特定できるようにし、属性情報に含まれる「ファイルを伝送する最終ブロック番号及び最終ブロックの最終シーケンス番号」を参照し、最終ブロックを特定できるようにし、また、最終ブロックのユニット及び最終ブロックにおける最終シーケンスのユニットを特定できるようにする。そして、ダウンロードヘッダ解析部22は、全ての属性情報を取得した後に入力するデータについて、同一ファイルにおける全てのブロックの全てのユニットを取得する(ステップS14)。そして、取得した属性情報及び全てのユニットをファイル復元部23に出力する。
【0076】
一方、ステップS13において、識別したファイルの属性情報を取得済みであると判定した場合、ダウンロードヘッダ解析部22は、前述したステップS14の処理を行う。
【0077】
ファイル復元部23は、ダウンロードヘッダ解析部22から同一ファイルにおける属性情報及び全てのユニットを入力し、ダウンロードヘッダのブロック番号BN及びシーケンス番号SNに基づいて、データユニット及びパリティユニットを、ブロック番号順及びブロック内のシーケンス番号順に整列させる。そして、属性情報に含まれる「FEC方式を特定するための識別子」を参照し、パリティユニットを用いたFECのデコード処理を行い、欠損したデータユニットの復元を行い、データユニットを結合する(ステップS15)。そして、ファイル復元部23は、元のファイルに復元して記憶部24に書き込む(ステップS16)。
【0078】
以上のように、本発明の実施形態による伝送システムによれば、送信端末1が、属性情報及びユニット毎に、ブロック番号BN及びシーケンス番号SNを含むダウンロードヘッダを付加したパケットを送信する際に、最初の属性情報についてはBN=0,SN=0のブロック番号BN及びシーケンス番号SNを設定するようにした。そして、受信端末2が、ダウンロードヘッダに含まれるブロック番号BN=0及びシーケンス番号SN=0を判定して属性情報を取得し、ダウンロードヘッダに含まれるブロック番号BN及びシーケンス番号SNに基づいてユニットを整列及び結合して元のファイルに復元するようにした。これにより、ファイル本体と属性情報とを識別するための専用の情報を別途設ける必要がないから、FLUTEのヘッダに比べてヘッダ情報量を少なくすることができる。したがって、伝送効率の向上及び処理負担の低減を実現することができる。
【0079】
また、本発明の実施形態による伝送システムによれば、送信端末1の属性情報生成部12が「ダウンロードヘッダにおけるブロック番号BNフィールドのビット数」「ブロック内のパケット数」「ファイルを伝送する最終ブロック番号及び最終ブロックの最終シーケンス番号」を属性情報に設定するようにした。そして、受信端末2のダウンロードヘッダ解析部22が、その属性情報に基づいて、ブロック番号BN及びシーケンス番号SN、ブロック内のユニット数、ブロック数を特定するようにした。これにより、送信端末1はファイルに応じて異なるブロックサイズのパケットを送信し、受信端末2は異なるブロックサイズのパケットを受信してファイルを復元することができる。したがって、ブロックサイズを固定する必要がなく、アプリケーションや伝送媒体に応じて、様々なブロックサイズに柔軟に対応することができる。
【0080】
また、本発明の実施形態による伝送システムによれば、送信端末1のパケット送信部15が、ファイルの属性情報を、ブロック毎のユニットを送信する前にそれぞれ送信するようにした。これにより、受信端末2がファイルの途中のパケットから受信する場合には、途中の属性情報を取得することにより、それ以降のユニットを受信してファイルに復元することができる。また、送信端末1が、ブロック番号BN=0、ブロック番号BN=2等の偶数のブロックを送信する前に送信する等して、属性情報を間引いて送信するようにしてもよい。これにより、属性情報の送信回数を減らすことができるから、一方向伝送路3において効率のよい伝送を実現することができる。
【0081】
以上、実施形態を挙げて本発明を説明したが、本発明は前記実施形態に限定されるものではなく、その技術思想を逸脱しない範囲で種々変形可能である。例えば、前記実施形態では、送信端末1のユニット生成部13が、列方向及び行方向毎にそれぞれのデータユニットからパリティユニットを生成するようにしたが、一方向伝送路3の伝送品質によっては必ずしもパリティユニットを生成する必要はない。また、FECの方式は、データユニットを二次元に整列させてパリティユニットを生成するものである必要はなく、リードソロモン符号やRaptor符号により冗長データすなわちパリティユニットを生成する方式を用いてもよい。本発明は、FECの方式に限定されるものではない。
【0082】
また、前記実施形態では、送信端末1の属性情報生成部12が、「FEC方式を特定するための識別子」を属性情報に設定し、受信端末2が、この情報に基づいて符号化方式を特定するようにしたが、必ずしも属性情報の一部として伝送する必要はない。FECのデコードに必要な符号化方式、パリティユニットの位置等の情報は、送信端末1及び受信端末2間で一致していればよいから、属性情報の一部として伝送するだけでなく、予め固定に設定されていてもよいし、別の手段によって伝送するようにしてもよい。
【0083】
また、前記実施形態では、送信端末1の属性情報生成部12が、図5に示したテキスト形式の属性情報を生成するようにしたが、バイナリ形式の属性情報を生成してもよい。本発明は、属性情報のフォーマットに限定されるものではない。
【0084】
また、前記実施形態では、送信端末1のダウンロードヘッダ付加部14が、ブロック番号BNフィールドのビット数とシーケンス番号SNフィールドのビット数とをあわせて32ビットとしたダウンロードヘッダを付加するようにしたが、必ずしも32ビットにする必要はない。また、属性情報生成部12が、「ダウンロードパケットにおけるブロック番号BNフィールドのビット数」のみを属性情報に設定するようにした。この属性情報に基づいてシーケンス番号SNフィールドのビット数を算出することはできるが、シーケンス番号SNフィールドのビット数または両フィールドのビット数を属性情報に設定するようにしてもよい。
【図面の簡単な説明】
【0085】
【図1】本発明の実施形態による送信端末及び受信端末を含む伝送システムの概略構成を示す図である。
【図2】送信端末の構成を示すブロック図である。
【図3】送信端末の処理を示すフロー図である。
【図4】属性情報、ユニット及びブロックの生成フローを説明する模式図である。
【図5】属性情報の構成を示す図である。
【図6】ダウンロードヘッダの構成を示す図である。
【図7】ダウンロードヘッダの構成例を示す図である。
【図8】パケットの構成を示す図である。
【図9】パケットの送信順序の例を示す図である。
【図10】受信端末の構成を示すブロック図である。
【図11】受信端末の処理を示すフロー図である。
【符号の説明】
【0086】
1 送信端末
2 受信端末
3 一方向伝送路
11 記憶部
12 属性情報生成部
13 ユニット生成部
14 ダウンロードヘッダ付加部
15 パケット送信部
21 パケット受信部
22 ダウンロードヘッダ解析部
23 ファイル復元部
24 記憶部
【技術分野】
【0001】
本発明は、送信端末から受信端末へ向かう一方向伝送路において、ファイルをパケット化して伝送する伝送技術に関する。
【背景技術】
【0002】
従来、放送伝送路等の一方向伝送路を用いてコンテンツをダウンロードするサービスが知られている。このようなコンテンツダウンロードサービスにおいては、ファイルを分割し複数のパケットに格納して伝送する方式がとられている。このファイル伝送方式では、送信端末が、FEC(Forward Error Correction)と呼ばれる誤り訂正手法によって、ファイルを分割して生成したパケットに基づいて冗長なパケットを生成し送信する。そして、受信端末が、送信端末により送信された冗長パケットを受信し、欠損したパケットを復元する。これにより、リターンチャネル(受信端末から送信端末への上り回線)を用いることなく、一方向伝送路において一定のファイル伝送品質を維持することができる。
【0003】
FECの誤り訂正手法には、例えば、一定数のパケットに対してブロック符号化を施し、冗長なパケットを生成するブロック符号化手法がある。このブロック符号化手法では、符号化を施すブロックのサイズが様々であるから、ファイルサイズ及びブロック符号化方式によって伝送品質が大きく異なってしまう。ブロック符号化方式の例としては、RFC5053に示されるRaptor符号、RFC5170に示されるLDPC符号、リードソロモン符号、SMPTE Specification2022−1に示される“Forward Error Correction for Real−time Video/Audio Transport Over IP Networks”等が知られている。
【0004】
このように、ファイルを分割してパケット化し、一方向伝送路を介してパケットを伝送するシステムにおいては、FECの誤り訂正手法を用いることにより、欠損したパケットを復元し、一定のファイル伝送品質を維持している。
【0005】
ところで、一方向伝送路を用いたファイル伝送方式として、FLUTEが知られている(非特許文献1及び特許文献1を参照)。FLUTEは、ファイルをパケット化して伝送する際に、ファイルの属性情報及びファイル本体を、それぞれ一つのオブジェクトとして伝送するものである。ファイルの属性情報は、FDT(File Delivery Table)として記述され、ファイル本体と同様に一つのオブジェクトとして扱われる。つまり、送信端末は、ファイルの属性情報のFLUTEパケットをオブジェクトとして送信し、その後に引き続いて、ファイル本体のFLUTEパケットをオブジェクトとして送信する。
【0006】
また、放送伝送路においても、蓄積型放送サービスのための新多重化方式を用いてIPパケットを多重化することができる(非特許文献2を参照)。このように、従来から、コンテンツファイルをIPパケットに分割して伝送する仕組みが検討されている。
【0007】
【非特許文献1】「FLUTE-File Delivery over Unidirectional Transport」、RFC3926
【非特許文献2】“情報通信審議会情報通信技術分科会(第60回) 資料60−1−2放送システム委員会報告”、[online]、平成20年7月29日、情報通信審議会、[平成20年11月12日検索]、インターネット<URL:http://www.soumu.go.jp/joho_tsusin/policyreports/joho_tsusin/bunkakai/080729_1.html>
【特許文献1】米国特許出願公開第2004/0153468号明細書
【発明の開示】
【発明が解決しようとする課題】
【0008】
FLUTEのファイル伝送方式を用いる場合、前述のとおり、ファイルの属性情報がファイル本体と同様に一つのオブジェクトとして扱われるため、一つのファイルを伝送する際に最低でも2つのオブジェクトの伝送が必要となる。このため、ファイルの属性情報とファイル本体とをオブジェクトIDで識別する必要があることから、FLUTEパケットには、オブジェクトを識別するオブジェクトIDに加え、オブジェクトが伝送されるセッションを識別するための情報(TSI:Transport Session Identifier)をパケット毎に付加する必要があった。この場合、個別のFLUTEパケットは、そのヘッダに、少なくとも、セッションを識別するための情報(TSI)、オブジェクトを識別するための情報(TOI:Transport Object Identifier)、ブロックの番号(Source Block Number)、及び、ブロック内のデータを識別する番号(Encoding Symbol ID)を備える必要がある。しかし、ヘッダはできる限り少ないデータ量とすることが、伝送効率の向上及び処理負荷の低減の点からして望ましい。
【0009】
ここで、ブロックとは、ファイルを複数のデータユニットに分割し、データユニットのパケットをそれぞれ伝送する場合に、伝送順にパケットを並べたときのパケットの集合またはデータユニットの集合をいう。
【0010】
また、ブロックサイズ(一つのブロック内における全てのデータユニットのデータ量)はアプリケーション及び伝送媒体によって異なるから、一つのファイルにおけるブロック数も異なり、結果として、ブロックを特定するための番号(ブロック番号)を格納するフィールドのビット数もアプリケーション及び伝送媒体によって異なるものとなる。しかし、FLUTEのファイル伝送方式を用いる場合はブロックサイズが固定(16ビット)であるから、様々なブロックサイズに柔軟に対応することができなかった。例えば、衛星放送によりファイルを伝送する場合、伝送路の品質は比較的良好であるから、FECの誤り訂正手法により生成される冗長パケットの数は少なくて済むか、またはFECの誤り訂正手法を用いなくて済む。したがって、一つのブロックで送信できるファイル本体のデータ量が多くなり(データユニットの数が多くなり)、一つのファイルにおけるブロック数をさほど増やす必要がないから、ブロック番号のフィールドのビット数は少なくて済む。一方、携帯電話によりファイルを伝送する場合、伝送路の品質は比較的良好でないから、FECの誤り訂正手法により多数の冗長パケットを生成する必要がある。したがって、一つのブロックで送信できるデータ量が少なくなり(データユニットの数が少なくなり)、一つのファイルのブロック数を増やす必要があるから、ブロック番号のフィールドのビット数は多くする必要がある。このように、FLUTEのファイル伝送方式を用いる場合は、アプリケーション及び伝送媒体に応じて適切なブロックサイズに対応できる柔軟性がなかった。
【0011】
そこで、本発明は前記課題を解決するためになされたものであり、その目的は、ファイルをパケット化し一方向伝送路を介して伝送する際に、ヘッダ情報量を少なくし、かつ、アプリケーション及び伝送媒体に応じて、様々なブロックサイズに柔軟に対応することが可能な送信端末、受信端末及び伝送システムを提供することにある。
【課題を解決するための手段】
【0012】
前記課題を解決するため、本発明による送信端末は、ファイルの属性情報を生成し、ファイル本体を分割してユニットを生成し、前記属性情報をパケットに格納して送信すると共に、複数の前記ユニットからなるブロック毎に前記ユニットをパケットに格納して送信する一方向伝送路に用いる送信端末において、前記ブロックを特定するためのブロック番号が割り当てられるフィールドのビット数と前記パケットに格納される属性情報及びユニットを特定するためのシーケンス番号が割り当てられるフィールドのビット数と、を定めるデータを含む属性情報を生成する属性情報生成部と、前記ブロック番号及びシーケンス番号を含むヘッダ情報を生成し、このヘッダ情報を前記属性情報及びユニットに付加するヘッダ情報付加部と、を備えたことを特徴とする。
【0013】
また、本発明による送信端末は、前記ヘッダ情報付加部が、ブロック番号及びシーケンス番号を0とするヘッダ情報を生成し、このヘッダ情報を前記属性情報に付加する、ことを特徴とする。
【0014】
また、本発明による送信端末は、前記属性情報生成部が、前記ブロック番号が割り当てられたフィールドのビット数及び前記シーケンス番号が割り当てられたフィールドのビット数を含む属性情報を生成し、または、前記ブロック番号及びシーケンス番号の両番号が割り当てられたフィールドのビット数が固定の場合に、前記ブロック番号及びシーケンス番号のうちのいずれか一方の番号が割り当てられたフィールドのビット数を含む属性情報を生成する、ことを特徴とする。
【0015】
また、本発明による送信端末は、前記属性情報を分割し、前記分割した属性情報をパケットにそれぞれ格納して送信する場合に、前記属性情報生成部が、さらに、前記属性情報を分割した数を特定するためのデータを含む属性情報を生成する、ことを特徴とする。
【0016】
また、本発明による送信端末は、前記属性情報のシーケンス番号に引き続く番号をユニットのシーケンス番号としたヘッダ情報を生成するヘッダ情報付加部を備え、前記ブロック間で同一の属性情報を、それぞれのブロックを構成するユニットの前に送信する、ことを特徴とする。
【0017】
また、本発明による送信端末は、前記属性情報を、ブロックを構成するユニットの前に送信する場合に、属性情報のシーケンス番号に引き続く番号をユニットのシーケンス番号としたヘッダ情報を生成するヘッダ情報付加部を備え、前記属性情報を、全てのブロックのうちの少なくとも先頭のブロックを構成するユニットの前に送信する、ことを特徴とする。
【0018】
また、本発明による送信端末は、前記属性情報生成部が、前記ブロック番号及びシーケンス番号のビット数を特定するためのデータに加えて、ファイルの名前及び長さを含む属性情報を生成する、ことを特徴とする。
【0019】
また、本発明による受信端末は、ファイルの属性情報が格納されたパケット、及び、ファイル本体を分割して得られたブロック毎のユニットが格納されたパケットを一方向伝送により受信し、元のファイルに復元する受信端末において、前記属性情報には、前記ブロックを特定するためのブロック番号が割り当てられるフィールドのビット数と、前記パケットに格納される属性情報及びユニットを特定するためのシーケンス番号が割り当てられるフィールドのビット数とを定めるためのデータが含まれており、前記属性情報及びユニットには、前記ブロック番号及びシーケンス番号を含むヘッダ情報が付加されており、前記属性情報に基づいて、ヘッダ情報に含まれるブロック番号及びシーケンス番号を解析し、属性情報及びユニットを取得するヘッダ情報解析部と、前記ヘッダ情報解析部により取得されたユニットを、前記ブロック番号及びシーケンス番号に基づいて整列及び結合し、元のファイルに復元するファイル復元部と、を備えたことを特徴とする。
【0020】
また、本発明による受信端末は、前記ヘッダ情報解析部が、ヘッダ情報に含まれるブロック番号及びシーケンス番号が0のときに、属性情報を取得する、ことを特徴とする。
【0021】
また、本発明による受信端末は、前記ファイル復元部が、前記ヘッダ情報解析部により属性情報を取得した後のユニットについて、元のファイルに復元する、ことを特徴とする。
【0022】
また、本発明による伝送システムは、前記送信端末と前記受信端末とを備えて構成される、ことを特徴とする。
【発明の効果】
【0023】
以上のように、本発明によれば、ブロック番号及びシーケンス番号を含むヘッダ情報を属性情報及びユニットに付加するようにした。これにより、属性情報とユニットとは、ブロック番号及びシーケンス番号によって区別することができる。したがって、属性情報とファイル本体とを識別するための専用の情報を付加する必要がなく、FLUTEのヘッダに比べてヘッダ情報量を少なくすることができる。つまり、伝送効率の向上及び処理負荷の低減を実現することができる。また、ブロック番号及びシーケンス番号が割り当てられるヘッダ情報内のビット数について、それぞれのビット数を特定するためのデータを属性情報の一部として扱うようにした。これにより、ブロック番号及びシーケンス番号に割り当てられるビット数をファイル毎に変更することができる。したがって、そのビット数はブロックサイズを規定するものであるから、アプリケーション及び伝送媒体に応じて、様々なブロックサイズに柔軟に対応することができる。
【発明を実施するための最良の形態】
【0024】
以下、本発明を実施するための最良の形態について図面を用いて詳細に説明する。
〔伝送システム〕
図1は、本発明の実施形態による送信端末及び受信端末を含む伝送システムの概略構成を示す図である。この伝送システムは、例えば、高度BSデジタル放送におけるダウンロードサービスを実現するシステムであり、送信端末1及び受信端末2により構成される。送信端末1及び受信端末2は一方向伝送路3により接続される。
【0025】
送信端末1は、コンテンツ及びメタデータを構成するファイルをパケット化し、ファイルの属性情報及びファイル本体をパケットに格納し、一方向伝送路3を介して受信端末2へ送信する装置である。受信端末2は、送信端末1により送信されたパケットを、一方向伝送路3を介して受信し、元のファイルに復元する装置である。一方向伝送路3は、例えば放送伝送路である。
【0026】
〔送信端末/構成〕
次に、図1に示した伝送システムの送信端末1について説明する。まず、送信端末1の構成について説明する。図2は、送信端末1の構成を示すブロック図である。この送信端末1は、記憶部11、属性情報生成部12、ユニット生成部13、ダウンロードヘッダ付加部(ヘッダ情報付加部)14及びパケット送信部15を備えている。
【0027】
記憶部11には、一方向伝送路3を用いて受信端末2へ送信されるコンテンツ及びメタデータを構成するファイルが記憶されている。属性情報生成部12は、記憶部11からファイルを読み出し、そのファイルについて、ファイル本体の名前及びファイルの長さ等を含む属性情報を生成する。
【0028】
ユニット生成部13は、記憶部11からファイルを読み出し、そのファイル本体を一定サイズのデータユニットに分割し、複数のデータユニットを生成する。そして、ユニット生成部13は、生成した複数のデータユニットに基づいてパリティユニットを生成し、データユニット及びパリティユニットからなるブロックを生成する。
【0029】
ダウンロードヘッダ付加部14は、属性情報生成部12により生成された属性情報に対し、ダウンロードヘッダを付加する。また、ユニット生成部13により生成されたデータユニット及びパリティユニットに対しても、ダウンロードヘッダを付加する。
【0030】
パケット送信部15は、ダウンロードヘッダ付加部14によりダウンロードヘッダが付加された属性情報、データユニット及びパリティユニットにIPヘッダ及びUDPヘッダを付加してパケットを生成し、または圧縮ヘッダを付加してパケットを生成し、受信端末2へ送信する。
【0031】
このように、送信端末1は、ファイルの属性情報を生成してダウンロードヘッダを付加すると共に、ファイル本体を分割したデータユニットからパリティユニットを生成し、データユニット及びパリティユニットにそれぞれダウンロードヘッダを付加する。そして、送信端末1は、パケットを生成し、一方向伝送路3を介して受信端末2へ送信する。
【0032】
〔送信端末/処理〕
次に、送信端末1の処理について説明する。図3は、送信端末1の処理を示すフロー図であり、送信端末1が一方向伝送路3を介してパケットを送信する際の、ファイルをパケット化するフローが示されている。また、図4は、属性情報、ユニット及びブロックの生成フローを説明する模式図である。
【0033】
まず、送信端末1の属性情報生成部12は、記憶部11からファイルを読み出し、少なくともファイル本体の名前及びファイルの長さを含む属性情報を生成する(ステップS1)。この場合、属性情報生成部12は、生成する属性情報のサイズが後述するデータユニットのサイズ(予め設定されている)よりも大きい場合に、生成した属性情報を、データユニットのサイズに分割する。
【0034】
図5は、属性情報の構成を示す図である。図5に示すように、属性情報は、「ダウンロードヘッダにおけるBlock Number(ブロック番号BN)フィールドのビット数」「ブロック内のパケット数」「属性情報パケットの最終シーケンス番号」「FEC方式を特定するための識別子」「URI(ファイル本体の名前)」「File Length(ファイルの長さ)」「Content Type(コンテンツタイプ)」「ファイルを伝送する最終ブロック番号及び最終ブロックの最終シーケンス番号」「格納先のディレクトリ構成」「Content Encoding(コンテンツエンコーディング)」「Transfer Length(伝送長)」「Content MD5(コンテンツMD5)」から構成される。
【0035】
属性情報生成部12は、読み出したファイルに基づいて、図5に示す各構成要素を設定し、属性情報を生成する。具体的には、属性情報生成部12は、一方向伝送路3の種類及び特性に応じて予め設定されたビット長を、「ダウンロードヘッダにおけるブロック番号BNフィールドのビット数」に設定する。このブロック番号BNフィールドのビット数及びブロック番号BNの詳細については後述する。
【0036】
属性情報生成部12は、予め設定された、ブロック内のパケット数を、「ブロック内のパケット数」に設定する。「ブロック内のパケット数」とは、ファイル本体から分離されたデータユニットとデータユニットから生成されたパリティユニットとの集合体であるブロックにおいて、そのブロック内で送信され得るパケットの数である。
【0037】
属性情報生成部12は、生成した属性情報を分割した場合、分割した属性情報の数を「属性情報パケットの最終シーケンス番号」に設定する。尚、属性情報のサイズがデータユニットのサイズ以下の場合は、「属性情報パケットの最終シーケンス番号」は0となる。
【0038】
属性情報生成部12は、ファイルのサイズを「File Length(ファイルの長さ)」に設定し、コンテンツのタイプを「Content Type(コンテンツタイプ)」に設定する。さらに、属性情報生成部12は、後述するユニット生成部13により生成されるデータユニット及びパリティユニットの数、予め設定されたデータユニットのサイズ等に基づいて、ブロックの数及びシーケンスの数を算出し、これらを「ファイルを伝送する最終ブロック番号及び最終ブロックの最終シーケンス番号」に設定する。
【0039】
また、属性情報生成部12は、ファイルを符号化して伝送する場合、その方式を「Content Encoding(コンテンツエンコーディング)」に設定し、ファイルを符号化して伝送する場合に元のファイルの長さと伝送時のファイルの長さが異なるため、伝送時のファイルの長さ「Transfer Length(伝送長)」を設定する。また、受信側がファイルを正しく受信できたか否かをチェックするためのチェックサム「Content MD5(コンテンツMD5)」を設定する。さらに、「FEC方式を特定するための識別子」「URI(ファイル本体の名前)」「格納先のディレクトリ構成」も設定する。
【0040】
図3に戻って、ユニット生成部13は、記憶部11からファイルを読み出し(属性情報生成部12が読み出したファイルと同一のファイルを読み出し)、予め設定された一定サイズのデータユニットにファイル本体を分割する(ステップS2、図4(1))。データユニットのサイズは自由に設定することができ、例えば、1344バイト、4032バイトとする。
【0041】
ユニット生成部13は、複数に分割したデータユニットを、L×D個毎に区分し、L列D行の2次元に整列させる(ステップS3、図4(2))。この2次元のデータユニットの集合体が、ブロックの元になる。
【0042】
また、ユニット生成部13は、整列させた2次元のデータユニットにおいて、列方向及び行方向毎にそれぞれのデータユニットからパリティユニットを生成する(ステップS4、図4(3))。例えば、ユニット生成部13は、列方向毎に全てのデータユニットについてmod2の加算を行い列方向毎のパリティユニットを生成する。同様に、行方向毎の全てのデータユニットについてmod2の加算を行い行方向毎のパリティユニットを生成する。
【0043】
ユニット生成部13は、ステップS3にて整列した2次元のデータユニットの集合体、及び、ステップS4にて生成した列方向及び行方向のパリティユニットを用いて、ブロックを生成する(ステップS5、図4(3))。
【0044】
そして、ダウンロードヘッダ付加部14は、属性情報生成部12により生成された属性情報に対し、ダウンロードヘッダを付加すると共に、ユニット生成部13により生成されたデータユニット及びパリティユニットに対しても、ダウンロードヘッダを付加する(ステップS6,S7)。
【0045】
(ダウンロードヘッダの付加)
図6は、ダウンロードヘッダの構成を示す図である。図6に示すように、ダウンロードヘッダは、3つのフィールドからなる64ビットのヘッダであり、「Transport File ID(トランスポートファイルID:TFID)」「Block Number(ブロック番号BN)」「Sequence Number(シーケンス番号SN)」から構成される。「TFID」フィールドのビット数(フィールド幅)は32である。「ブロック番号BN」及び「シーケンス番号SN」フィールドのビット数は合計32であるが、それぞれ可変長であり、一方向伝送路3の種類及び特性に応じて、または、伝送されるファイルに応じて予め設定される。また、一つのファイルを伝送中は、これらのフィールド幅は変更されず、固定値が用いられる。
【0046】
「TFID」は、伝送するファイルを一意に識別するためのラベルの役割を果たす。したがって、ダウンロードヘッダ付加部14は、同一のファイルの属性情報、データユニット及びパリティユニットに対して、同一の「TFID」を設定する。一方、異なるファイルの属性情報等に対して、異なる「TFID」を設定する。尚、前述のFLUTEでは、この「TFID」は「Transport Object Identifier(TOI)」に相当する。詳細については、前述の非特許文献1,2を参照されたい。
【0047】
「ブロック番号BN」は、伝送するファイルにおけるブロックの番号を示す。また、「シーケンス番号SN」は、属性情報(分割した場合はそれぞれの属性情報)の番号、及びブロック内のユニット(以下、データユニット及びパリティユニットを総称してユニットという。)の番号を示す。例えば、最初の属性情報に対してはBN=0,SN=0が設定され、属性情報に続くユニットには、最終の属性情報に対して設定されたSNに引き続くSNが設定される。
【0048】
具体的に説明すると、属性情報生成部12により1つの属性情報が生成された場合、ダウンロードヘッダ付加部14は、最初のブロック(BN=0)において、属性情報に対しBN=0,SN=0を設定する。そして、ダウンロードヘッダ付加部14は、最初のブロックの先頭のユニットに対しBN=0,SN=1を設定し、その次のユニットに対しBN=0,SN=2を設定する。シーケンス番号SNは、ユニットの数に応じて1ずつ増加する。そして、ダウンロードヘッダ付加部14は、次のブロック(BN=1)においても、最初のブロックにおける属性情報と同一の属性情報に対しBN=0,SN=0を設定する。そして、ダウンロードヘッダ付加部14は、そのブロック(BN=1)の先頭のユニットに対しBN=1,SN=1を設定し、その次のユニットに対しBN=1,SN=2を設定する。
【0049】
一方、属性情報生成部12により生成された属性情報が複数に分割された場合、ダウンロードヘッダ付加部14は、最初のブロック(BN=0)において、分割された最初の属性情報に対しBN=0,SN=0を設定し、次の属性情報に対しBN=0,SN=1を設定する。シーケンス番号SNは、属性情報の分割に応じて1ずつ増加する。そして、ダウンロードヘッダ付加部14は、最初のブロック(BN=0)の先頭のユニットに対しBN=0,SN=2を設定し、その次のユニットに対しBN=0,SN=3を設定する。シーケンス番号SNは、ユニットの数に応じて1ずつ増加する。ここで、属性情報生成部12により生成され分割された属性情報の数がn個の場合、それぞれの属性情報のシーケンス番号SNはSN=0,1,・・・,n−1になるから、最初のユニットのシーケンス番号SNはSN=nとなる。そして、ダウンロードヘッダ付加部14は、次のブロック(BN=1)においても、最初のブロックにおける属性情報と同一の属性情報のBN=0,SN=0,1,・・・を設定する。そして、ダウンロードヘッダ付加部14は、そのブロック(BN=1)の先頭のユニットに対しBN=1,SN=2(分割された属性情報の数が2個の場合)を設定し、その次のユニットに対しBN=1,SN=3を設定する。前述のとおり、シーケンス番号SNは、ユニットの数に応じて1ずつ増加し、最終の属性情報がSN=n−1の場合、最初のユニットはSN=nとなる。
【0050】
このように、ダウンロードヘッダ付加部14は、属性情報及びユニットに対し、TFID、ブロック番号BN及びシーケンス番号SNからなるダウンロードヘッダを付加する。この場合、ダウンロードヘッダ付加部14は、ユニット生成部13により生成された複数のブロックに対して同一の属性情報を割り付け、一つのブロックに対応する属性情報のうちの最初の属性情報に対し、BN=0,SN=0を統一して設定するようにした。これにより、受信端末2は、受信したパケットについて、ダウンロードヘッダにおけるブロック番号BN及びシーケンス番号SNの両フィールドを連結した32ビットのデータが0x0000であるか否かを判定する。そして、0x00000000であると判定した場合、ブロック番号BNフィールドのビット数及びシーケンス番号SNフィールドのビット数の設定に関わらず、このようなダウンロードヘッダを持つパケットが、ファイルの属性情報を含むパケット(最初の属性情報を含むパケット)であることを認識することができる。
【0051】
図7は、ダウンロードヘッダの構成例を示す図である。図7において(1)は、ブロックのサイズが大きい場合の構成例である。ブロックのサイズを大きく設定する場合は、ブロック内に多数のユニットが含まれるから、シーケンス番号SNフィールドの割り当てビット数を多くし、ブロック番号BNフィールドの割り当てビット数を少なくする。
【0052】
(2)は、ブロックのサイズが小さい場合の構成例である。ブロックのサイズを小さく設定する場合は、ブロック内に多数のユニットが含まれないから、シーケンス番号SNフィールドの割り当てビット数を少なくし、ブロック番号BNフィールドの割り当てビット数を多くする。
【0053】
(3)は、ファイルの属性情報に付加されるダウンロードヘッダの構成例であり、ブロック番号BN及びシーケンス番号SNがBN=0,SN=0である。属性情報生成部12により生成された属性情報が複数に分割される場合は、最初の属性情報に付加されるダウンロードヘッダを示している。
【0054】
このように、図5に示した属性情報に含まれる「ダウンロードヘッダにおけるブロック番号BNフィールドのビット数」の設定に従って、ダウンロードヘッダのブロック番号BN及びシーケンス番号SNフィールドの割り当てビット数を変更することができるから、一方向伝送路3の種類及び特性、または送信するファイルに応じたビット数とすることができ、柔軟に対応することができる。
【0055】
(パケットの生成)
図3に戻って、パケット送信部15は、ダウンロードヘッダ付加部14によりダウンロードヘッダが付加された属性情報及びユニットに対しヘッダを付加し、パケットを生成する(ステップS8)。そして、パケット送信部15は、生成したパケットを送信する(ステップS9)。
【0056】
図8は、パケットの構成を示す図である。(1)は、図1に示した一方向伝送路3がIPネットワークによる伝送路の場合におけるパケット構成を示している。パケット送信部15は、ダウンロードヘッダが付加された属性情報及びユニットをUDPペイロードに格納し、IPヘッダ及びUDPヘッダを付加し、(1)に示すパケットを生成して送信する。
【0057】
(2)は、一方向伝送路3が例えば高度BSデジタル放送の伝送路の場合におけるパケット構成を示している。パケット送信部15は、ダウンロードヘッダが付加された属性情報及びユニットをUDPペイロードに格納し、IPヘッダ及びUDPヘッダの代わりに圧縮ヘッダを生成し、この圧縮ヘッダを付加して(2)に示すパケットを生成して送信する。
【0058】
(圧縮ヘッダ)
次に、圧縮ヘッダの使用例について簡単に説明する。尚、高度BSデジタル放送の圧縮ヘッダのフォーマットについては、前述の非特許文献2における資料60−1−2「放送システム委員会報告」の別添答申案第31頁「2.3.2.2 IPパケットのヘッダ圧縮方式」を参照されたい。
【0059】
一般に、パケットのヘッダを圧縮する技術には、IPヘッダ圧縮フォーマットが用いられる。このIPヘッダ圧縮フォーマットとしては、RFC2508(Compressing IP/UDP/RTP Headers for Low−Speed Serial Links)やRFC3095(RObust Header Compression(ROHC):Framework and four profiles:RTP, UDP, ESP, and uncompressed)等に規定されたものが知られている。
【0060】
これらのヘッダ圧縮技術は、複数のパケットが連続する同一フローにおいて、パケットのヘッダに記述される情報が同一又は予測可能であるという性質を利用している。尚、ヘッダ圧縮されたパケットのヘッダには、最低限のヘッダ情報に加えて、フローを特定するためのコンテキストID(CID)が記述されている。
【0061】
具体的なヘッダ圧縮技術の例として、同一フローに属する全てのパケットに、ヘッダ情報の全てを含めることをしないで、一部のパケットには、ヘッダ情報の全て及びCIDを含め、その他のパケットには、ヘッダ情報の一部及びCIDを含めることとするものがある。ヘッダ情報の全て及びCIDを含むヘッダをフルヘッダといい、このフルヘッダが付加されたパケットをフルヘッダパケットという。また、ヘッダ情報の一部及びCIDを含むヘッダを圧縮ヘッダといい、この圧縮ヘッダが付加されたパケットを圧縮ヘッダパケットという。図8(2)が圧縮ヘッダパケットである。
【0062】
そして、このヘッダ圧縮技術では、送信端末1と受信端末2との間で、CIDとヘッダ情報の一部とを予め対応付けておいたCIDテーブルを共有しておく。そして、送信端末1から受信端末2へ、フルヘッダパケット及び圧縮ヘッダパケットを送信する。これにより、送信端末1と受信端末2との間で、CIDをキーとして、全てのヘッダ情報を共有することができる。
【0063】
このように、圧縮ヘッダは、送信端末1から受信端末2への同一フローのパケットに付加される情報であり、CIDをキーとしてヘッダ情報を共有するために用いられる。
【0064】
(パケットの送信順序)
次に、パケットの送信順序について説明する。図9は、パケットの送信順序の例を示す図である。図9に示すように、送信端末1のパケット送信部15は、ユニットの送信に先立ち、属性情報のパケットを送信する。具体的には、パケット送信部15は、ファイル1の送信において、ブロック番号BN=0におけるユニットの送信に先立ち、属性情報のパケット(ダウンロードヘッダのBN=0,SN=0)を送信し、引き続き、ブロック番号BN=0におけるユニットをそれぞれ送信する。そして、パケット送信部15は、ブロック番号BN=1におけるユニットの送信に先立ち、同一の属性情報のパケット(BN=0,SN=0のダウンロードヘッダが付加された属性情報のパケット)を送信し、引き続き、ブロック番号BN=1におけるユニットのパケットをそれぞれ送信する。このようにして、パケット送信部15は、最終ブロックのパケットを送信し、ファイル1の送信を終了する。
【0065】
尚、図9では、パケット送信部15は、ファイルの属性情報を、ブロック毎のユニットを送信する前にそれぞれ送信するようにしたが、ブロック番号BN=0のユニットを送信する前に1回だけ送信するようにしてもよい。また、ブロック番号BN=0、ブロック番号BN=2等の偶数のブロックを送信する前に送信するようにしてもよい。ファイルの属性情報を送信するタイミングは、ブロック番号BN=0を送信する前に加えて、その後の任意のブロックを送信する前に送信するようにしてもよい。ファイルの属性情報の送信回数を減らすことにより、一方向伝送路3において効率のよい伝送を実現することができる。
【0066】
〔受信端末/構成〕
次に、図1に示した伝送システムの受信端末2について説明する。まず、受信端末2の構成について説明する。図10は、受信端末2の構成を示すブロック図である。この受信端末2は、パケット受信部21、ダウンロードヘッダ解析部(ヘッダ情報解析部)22、ファイル復元部23及び記憶部24を備えている。
【0067】
パケット受信部21は、送信端末1により送信されたパケットを受信し、IPヘッダ等を取り除く等の受信処理を行い、ファイルの属性情報及びユニットをダウンロードヘッダ解析部22に出力する。
【0068】
ダウンロードヘッダ解析部22は、パケット受信部21からファイルの属性情報及びユニットを入力し、ファイルの属性情報及びユニットに付加されたダウンロードヘッダを解析し、ファイルの識別処理及び属性情報とユニットとを区別する処理等を行い、ファイルの属性情報及びそのファイルにおける全てのユニットを取得する。そして、ダウンロードヘッダ解析部22は、同一ファイルにおける識別情報及び全てのユニットをファイル復元部23に出力する。
【0069】
ファイル復元部23は、ダウンロードヘッダ解析部22から同一ファイルにおける属性情報及び全てのユニットを入力し、パリティユニットに基づいて欠損したデータユニットを復元し、データユニットを結合して元のファイルに復元する。そして、ファイル復元部23は、復元したファイルを記憶部24に書き込む。例えば、列方向及び行方向のそれぞれのデータユニットについてmod2の加算が行われパリティユニットが生成された場合には、ファイル復元部23は、一つの欠損したデータユニットを、1行または1列の中で、それ以外のデータユニット及びパリティユニットについてmod2の加算を行うことにより復元する。
【0070】
このように、受信端末2は、送信端末1により送信されたパケットを、一方向伝送路3を介して受信し、同一ファイルにおける属性情報及び全てのユニットに区別する。そして、受信端末2は、区別したユニットのうちのデータユニットをパリティユニットに基づいて復元し、データユニットを結合して元のファイルに復元する。
【0071】
〔受信端末/処理〕
次に、受信端末2の処理について説明する。図11は、受信端末2の処理を示すフロー図であり、受信端末2が一方向伝送路3からパケットを受信する際の、ファイルを復元するフローが示されている。
【0072】
まず、受信端末2のパケット受信部21は、ファイルの属性情報及びユニットが格納されたパケットを受信し、受信処理の後、ファイルの属性情報及びユニットの各データをダウンロードヘッダ解析部22に出力する(ステップS11)。
【0073】
ダウンロードヘッダ解析部22は、パケット受信部21からファイルの属性情報及びユニットの各データを入力し、その属性情報及びユニットに付加された64ビットのダウンロードヘッダを参照し、ダウンロードヘッダを構成する32ビットの「TFID」に基づいて、ファイルを識別する(ステップS12)。以下、「TFID」が同一のファイルについて、ステップS13〜S16の処理を行う。
【0074】
ダウンロードヘッダ解析部22は、識別したファイルの属性情報を取得済みであるか否かを判定し、取得済みでないと判定した場合、パケット受信部21から入力するデータについて、ダウンロードヘッダのブロック番号BN及びシーケンス番号SNがBN=0,SN=0であるか否かを判定し、BN=0,SN=0のデータを入力するまで待つ。そして、ダウンロードヘッダがBN=0,SN=0であることを判定した場合、そのデータは最初の属性情報であると認識し、最初の属性情報に含まれる「ダウンロードヘッダにおけるブロック番号BNフィールドのビット数」を参照し、ダウンロードヘッダに含まれる「TFID」の次の32ビットであるブロック番号BN及びシーケンス番号SNフィールドがどのような割合になっているかを認識する。そして、その後に入力するデータについて、ダウンロードヘッダに含まれる「TFID」が同じ場合のブロック番号BN及びシーケンス番号SNを特定する。そして、ダウンロードヘッダ解析部22は、最初の属性情報に含まれる「属性情報パケットの最終シーケンス番号」を参照し、その後に入力するデータのシーケンス番号SNが「属性情報パケットの最終シーケンス番号」と同一になるまでの間のデータを、同一ファイルにおける属性情報として取得する(ステップS13)。
【0075】
ダウンロードヘッダ解析部22は、属性情報に含まれる「ブロック内のパケット数」を参照し、ブロックにおける最後のユニットを特定できるようにし、属性情報に含まれる「ファイルを伝送する最終ブロック番号及び最終ブロックの最終シーケンス番号」を参照し、最終ブロックを特定できるようにし、また、最終ブロックのユニット及び最終ブロックにおける最終シーケンスのユニットを特定できるようにする。そして、ダウンロードヘッダ解析部22は、全ての属性情報を取得した後に入力するデータについて、同一ファイルにおける全てのブロックの全てのユニットを取得する(ステップS14)。そして、取得した属性情報及び全てのユニットをファイル復元部23に出力する。
【0076】
一方、ステップS13において、識別したファイルの属性情報を取得済みであると判定した場合、ダウンロードヘッダ解析部22は、前述したステップS14の処理を行う。
【0077】
ファイル復元部23は、ダウンロードヘッダ解析部22から同一ファイルにおける属性情報及び全てのユニットを入力し、ダウンロードヘッダのブロック番号BN及びシーケンス番号SNに基づいて、データユニット及びパリティユニットを、ブロック番号順及びブロック内のシーケンス番号順に整列させる。そして、属性情報に含まれる「FEC方式を特定するための識別子」を参照し、パリティユニットを用いたFECのデコード処理を行い、欠損したデータユニットの復元を行い、データユニットを結合する(ステップS15)。そして、ファイル復元部23は、元のファイルに復元して記憶部24に書き込む(ステップS16)。
【0078】
以上のように、本発明の実施形態による伝送システムによれば、送信端末1が、属性情報及びユニット毎に、ブロック番号BN及びシーケンス番号SNを含むダウンロードヘッダを付加したパケットを送信する際に、最初の属性情報についてはBN=0,SN=0のブロック番号BN及びシーケンス番号SNを設定するようにした。そして、受信端末2が、ダウンロードヘッダに含まれるブロック番号BN=0及びシーケンス番号SN=0を判定して属性情報を取得し、ダウンロードヘッダに含まれるブロック番号BN及びシーケンス番号SNに基づいてユニットを整列及び結合して元のファイルに復元するようにした。これにより、ファイル本体と属性情報とを識別するための専用の情報を別途設ける必要がないから、FLUTEのヘッダに比べてヘッダ情報量を少なくすることができる。したがって、伝送効率の向上及び処理負担の低減を実現することができる。
【0079】
また、本発明の実施形態による伝送システムによれば、送信端末1の属性情報生成部12が「ダウンロードヘッダにおけるブロック番号BNフィールドのビット数」「ブロック内のパケット数」「ファイルを伝送する最終ブロック番号及び最終ブロックの最終シーケンス番号」を属性情報に設定するようにした。そして、受信端末2のダウンロードヘッダ解析部22が、その属性情報に基づいて、ブロック番号BN及びシーケンス番号SN、ブロック内のユニット数、ブロック数を特定するようにした。これにより、送信端末1はファイルに応じて異なるブロックサイズのパケットを送信し、受信端末2は異なるブロックサイズのパケットを受信してファイルを復元することができる。したがって、ブロックサイズを固定する必要がなく、アプリケーションや伝送媒体に応じて、様々なブロックサイズに柔軟に対応することができる。
【0080】
また、本発明の実施形態による伝送システムによれば、送信端末1のパケット送信部15が、ファイルの属性情報を、ブロック毎のユニットを送信する前にそれぞれ送信するようにした。これにより、受信端末2がファイルの途中のパケットから受信する場合には、途中の属性情報を取得することにより、それ以降のユニットを受信してファイルに復元することができる。また、送信端末1が、ブロック番号BN=0、ブロック番号BN=2等の偶数のブロックを送信する前に送信する等して、属性情報を間引いて送信するようにしてもよい。これにより、属性情報の送信回数を減らすことができるから、一方向伝送路3において効率のよい伝送を実現することができる。
【0081】
以上、実施形態を挙げて本発明を説明したが、本発明は前記実施形態に限定されるものではなく、その技術思想を逸脱しない範囲で種々変形可能である。例えば、前記実施形態では、送信端末1のユニット生成部13が、列方向及び行方向毎にそれぞれのデータユニットからパリティユニットを生成するようにしたが、一方向伝送路3の伝送品質によっては必ずしもパリティユニットを生成する必要はない。また、FECの方式は、データユニットを二次元に整列させてパリティユニットを生成するものである必要はなく、リードソロモン符号やRaptor符号により冗長データすなわちパリティユニットを生成する方式を用いてもよい。本発明は、FECの方式に限定されるものではない。
【0082】
また、前記実施形態では、送信端末1の属性情報生成部12が、「FEC方式を特定するための識別子」を属性情報に設定し、受信端末2が、この情報に基づいて符号化方式を特定するようにしたが、必ずしも属性情報の一部として伝送する必要はない。FECのデコードに必要な符号化方式、パリティユニットの位置等の情報は、送信端末1及び受信端末2間で一致していればよいから、属性情報の一部として伝送するだけでなく、予め固定に設定されていてもよいし、別の手段によって伝送するようにしてもよい。
【0083】
また、前記実施形態では、送信端末1の属性情報生成部12が、図5に示したテキスト形式の属性情報を生成するようにしたが、バイナリ形式の属性情報を生成してもよい。本発明は、属性情報のフォーマットに限定されるものではない。
【0084】
また、前記実施形態では、送信端末1のダウンロードヘッダ付加部14が、ブロック番号BNフィールドのビット数とシーケンス番号SNフィールドのビット数とをあわせて32ビットとしたダウンロードヘッダを付加するようにしたが、必ずしも32ビットにする必要はない。また、属性情報生成部12が、「ダウンロードパケットにおけるブロック番号BNフィールドのビット数」のみを属性情報に設定するようにした。この属性情報に基づいてシーケンス番号SNフィールドのビット数を算出することはできるが、シーケンス番号SNフィールドのビット数または両フィールドのビット数を属性情報に設定するようにしてもよい。
【図面の簡単な説明】
【0085】
【図1】本発明の実施形態による送信端末及び受信端末を含む伝送システムの概略構成を示す図である。
【図2】送信端末の構成を示すブロック図である。
【図3】送信端末の処理を示すフロー図である。
【図4】属性情報、ユニット及びブロックの生成フローを説明する模式図である。
【図5】属性情報の構成を示す図である。
【図6】ダウンロードヘッダの構成を示す図である。
【図7】ダウンロードヘッダの構成例を示す図である。
【図8】パケットの構成を示す図である。
【図9】パケットの送信順序の例を示す図である。
【図10】受信端末の構成を示すブロック図である。
【図11】受信端末の処理を示すフロー図である。
【符号の説明】
【0086】
1 送信端末
2 受信端末
3 一方向伝送路
11 記憶部
12 属性情報生成部
13 ユニット生成部
14 ダウンロードヘッダ付加部
15 パケット送信部
21 パケット受信部
22 ダウンロードヘッダ解析部
23 ファイル復元部
24 記憶部
【特許請求の範囲】
【請求項1】
ファイルの属性情報を生成し、ファイル本体を分割してユニットを生成し、前記属性情報をパケットに格納して送信すると共に、複数の前記ユニットからなるブロック毎に前記ユニットをパケットに格納して送信する一方向伝送路に用いる送信端末において、
前記ブロックを特定するためのブロック番号が割り当てられるフィールドのビット数と、前記パケットに格納される属性情報及びユニットを特定するためのシーケンス番号が割り当てられるフィールドのビット数とを定めるデータを含む属性情報を生成する属性情報生成部と、
前記ブロック番号及びシーケンス番号を含むヘッダ情報を生成し、このヘッダ情報を前記属性情報及びユニットに付加するヘッダ情報付加部と、を備えたことを特徴とする送信端末。
【請求項2】
請求項1に記載の送信端末において、
前記ヘッダ情報付加部は、ブロック番号及びシーケンス番号を0とするヘッダ情報を生成し、このヘッダ情報を前記属性情報に付加する、ことを特徴とする送信端末。
【請求項3】
請求項1または2に記載の送信端末において、
前記属性情報生成部は、前記ブロック番号が割り当てられたフィールドのビット数及び前記シーケンス番号が割り当てられたフィールドのビット数を含む属性情報を生成し、または、前記ブロック番号及びシーケンス番号の両番号が割り当てられたフィールドのビット数が固定の場合に、前記ブロック番号及びシーケンス番号のうちのいずれか一方の番号が割り当てられたフィールドのビット数を含む属性情報を生成する、ことを特徴とする送信端末。
【請求項4】
請求項1から3までのいずれか一項に記載の送信端末において、
前記属性情報を分割し、前記分割した属性情報をパケットにそれぞれ格納して送信する場合に、
前記属性情報生成部は、さらに、前記属性情報を分割した数を特定するためのデータを含む属性情報を生成する、ことを特徴とする送信端末。
【請求項5】
請求項1から4までのいずれか一項に記載の送信端末において、
前記属性情報のシーケンス番号に引き続く番号をユニットのシーケンス番号としたヘッダ情報を生成するヘッダ情報付加部を備え、
前記ブロック間で同一の属性情報を、それぞれのブロックを構成するユニットの前に送信する、ことを特徴とする送信端末。
【請求項6】
請求項1から4までのいずれか一項に記載の送信端末において、
前記属性情報を、ブロックを構成するユニットの前に送信する場合に、属性情報のシーケンス番号に引き続く番号をユニットのシーケンス番号としたヘッダ情報を生成するヘッダ情報付加部を備え、
前記属性情報を、全てのブロックのうちの少なくとも先頭のブロックを構成するユニットの前に送信する、ことを特徴とする送信端末。
【請求項7】
請求項1から6までのいずれか一項に記載の送信端末において、
前記属性情報生成部は、前記ブロック番号及びシーケンス番号のビット数を特定するためのデータに加えて、ファイルの名前及び長さを含む属性情報を生成する、ことを特徴とする送信端末。
【請求項8】
ファイルの属性情報が格納されたパケット、及び、ファイル本体を分割して得られたブロック毎のユニットが格納されたパケットを一方向伝送により受信し、元のファイルに復元する受信端末において、
前記属性情報には、前記ブロックを特定するためのブロック番号が割り当てられるフィールドのビット数と、前記パケットに格納される属性情報及びユニットを特定するためのシーケンス番号が割り当てられるフィールドのビット数とを定めるためのデータが含まれており、前記属性情報及びユニットには、前記ブロック番号及びシーケンス番号を含むヘッダ情報が付加されており、
前記属性情報に基づいて、ヘッダ情報に含まれるブロック番号及びシーケンス番号を解析し、属性情報及びユニットを取得するヘッダ情報解析部と、
前記ヘッダ情報解析部により取得されたユニットを、前記ブロック番号及びシーケンス番号に基づいて整列及び結合し、元のファイルに復元するファイル復元部と、を備えたことを特徴とする受信端末。
【請求項9】
請求項8に記載の受信端末において、
前記ヘッダ情報解析部は、ヘッダ情報に含まれるブロック番号及びシーケンス番号が0のときに、属性情報を取得する、ことを特徴とする受信端末。
【請求項10】
請求項8または9に記載の受信端末において、
前記ファイル復元部は、前記ヘッダ情報解析部が属性情報を取得した後のユニットについて、元のファイルに復元する、ことを特徴とする受信端末。
【請求項11】
請求項1から7までのいずれか一項に記載の送信端末と、請求項8から10までのいずれか一項に記載の受信端末とを備えて構成される、ことを特徴とする伝送システム。
【請求項1】
ファイルの属性情報を生成し、ファイル本体を分割してユニットを生成し、前記属性情報をパケットに格納して送信すると共に、複数の前記ユニットからなるブロック毎に前記ユニットをパケットに格納して送信する一方向伝送路に用いる送信端末において、
前記ブロックを特定するためのブロック番号が割り当てられるフィールドのビット数と、前記パケットに格納される属性情報及びユニットを特定するためのシーケンス番号が割り当てられるフィールドのビット数とを定めるデータを含む属性情報を生成する属性情報生成部と、
前記ブロック番号及びシーケンス番号を含むヘッダ情報を生成し、このヘッダ情報を前記属性情報及びユニットに付加するヘッダ情報付加部と、を備えたことを特徴とする送信端末。
【請求項2】
請求項1に記載の送信端末において、
前記ヘッダ情報付加部は、ブロック番号及びシーケンス番号を0とするヘッダ情報を生成し、このヘッダ情報を前記属性情報に付加する、ことを特徴とする送信端末。
【請求項3】
請求項1または2に記載の送信端末において、
前記属性情報生成部は、前記ブロック番号が割り当てられたフィールドのビット数及び前記シーケンス番号が割り当てられたフィールドのビット数を含む属性情報を生成し、または、前記ブロック番号及びシーケンス番号の両番号が割り当てられたフィールドのビット数が固定の場合に、前記ブロック番号及びシーケンス番号のうちのいずれか一方の番号が割り当てられたフィールドのビット数を含む属性情報を生成する、ことを特徴とする送信端末。
【請求項4】
請求項1から3までのいずれか一項に記載の送信端末において、
前記属性情報を分割し、前記分割した属性情報をパケットにそれぞれ格納して送信する場合に、
前記属性情報生成部は、さらに、前記属性情報を分割した数を特定するためのデータを含む属性情報を生成する、ことを特徴とする送信端末。
【請求項5】
請求項1から4までのいずれか一項に記載の送信端末において、
前記属性情報のシーケンス番号に引き続く番号をユニットのシーケンス番号としたヘッダ情報を生成するヘッダ情報付加部を備え、
前記ブロック間で同一の属性情報を、それぞれのブロックを構成するユニットの前に送信する、ことを特徴とする送信端末。
【請求項6】
請求項1から4までのいずれか一項に記載の送信端末において、
前記属性情報を、ブロックを構成するユニットの前に送信する場合に、属性情報のシーケンス番号に引き続く番号をユニットのシーケンス番号としたヘッダ情報を生成するヘッダ情報付加部を備え、
前記属性情報を、全てのブロックのうちの少なくとも先頭のブロックを構成するユニットの前に送信する、ことを特徴とする送信端末。
【請求項7】
請求項1から6までのいずれか一項に記載の送信端末において、
前記属性情報生成部は、前記ブロック番号及びシーケンス番号のビット数を特定するためのデータに加えて、ファイルの名前及び長さを含む属性情報を生成する、ことを特徴とする送信端末。
【請求項8】
ファイルの属性情報が格納されたパケット、及び、ファイル本体を分割して得られたブロック毎のユニットが格納されたパケットを一方向伝送により受信し、元のファイルに復元する受信端末において、
前記属性情報には、前記ブロックを特定するためのブロック番号が割り当てられるフィールドのビット数と、前記パケットに格納される属性情報及びユニットを特定するためのシーケンス番号が割り当てられるフィールドのビット数とを定めるためのデータが含まれており、前記属性情報及びユニットには、前記ブロック番号及びシーケンス番号を含むヘッダ情報が付加されており、
前記属性情報に基づいて、ヘッダ情報に含まれるブロック番号及びシーケンス番号を解析し、属性情報及びユニットを取得するヘッダ情報解析部と、
前記ヘッダ情報解析部により取得されたユニットを、前記ブロック番号及びシーケンス番号に基づいて整列及び結合し、元のファイルに復元するファイル復元部と、を備えたことを特徴とする受信端末。
【請求項9】
請求項8に記載の受信端末において、
前記ヘッダ情報解析部は、ヘッダ情報に含まれるブロック番号及びシーケンス番号が0のときに、属性情報を取得する、ことを特徴とする受信端末。
【請求項10】
請求項8または9に記載の受信端末において、
前記ファイル復元部は、前記ヘッダ情報解析部が属性情報を取得した後のユニットについて、元のファイルに復元する、ことを特徴とする受信端末。
【請求項11】
請求項1から7までのいずれか一項に記載の送信端末と、請求項8から10までのいずれか一項に記載の受信端末とを備えて構成される、ことを特徴とする伝送システム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2010−130472(P2010−130472A)
【公開日】平成22年6月10日(2010.6.10)
【国際特許分類】
【出願番号】特願2008−304375(P2008−304375)
【出願日】平成20年11月28日(2008.11.28)
【出願人】(000004352)日本放送協会 (2,206)
【Fターム(参考)】
【公開日】平成22年6月10日(2010.6.10)
【国際特許分類】
【出願日】平成20年11月28日(2008.11.28)
【出願人】(000004352)日本放送協会 (2,206)
【Fターム(参考)】
[ Back to top ]