(57)【特許請求の範囲】
【請求項１】
データ送信装置から送信されたパケットを受信するパケット受信手段と、
前記パケット受信手段が受信した前記パケットが分割されていた場合に、該パケットの分割元のデータを識別する識別子毎に該パケットを記憶する分割パケット記憶手段と、
前記分割パケット記憶手段によって記憶された前記パケットを基に前記識別子毎の処理優先度を求める優先度取得手段と、
前記分割パケット記憶手段に前記分割されているパケットが記憶された場合、前記処理優先度に従って、該記憶された前記パケットを再構築するか否かを判別するパケット再構築手段と、を備える、
ことを特徴とするデータ受信装置。
【請求項２】
前記優先度取得手段は、
前記パケットの転送速度を表す単位時間当たりのサイズを取得する単位時間サイズ取得手段を備える、
ことを特徴とする請求項１に記載のデータ受信装置。
【請求項３】
前記単位時間サイズ取得手段は、
単位時間当たりに前記分割パケット記憶手段に記憶された前記パケットのサイズを求め、
前記優先度取得手段は、
前記識別子毎に前記パケット再構築手段が前記分割パケット記憶手段に記憶された前記パケットの再構築が完了する予定時刻を求める予定時刻取得手段を備え、
前記単位時間サイズ取得手段が求めた前記サイズと、前記予定時刻取得手段が求めた前記予定時刻を基に前記処理優先度を求める、
ことを特徴とする請求項２に記載のデータ受信装置。
【請求項４】
前記分割パケット記憶手段が複数の前記識別子の前記パケットを記憶している場合、
前記優先度取得手段は、
前記識別子毎に、前記単位時間サイズ取得手段が求めたサイズが所定の閾値を超えているか否かを判別し、前記所定の閾値を超えていない場合、該識別子の前記処理優先度を低水準とし、
前記所定の閾値を超えている該識別子が複数ある場合、前記予定時刻取得手段が求めた前記予定時刻が最も遅い前記識別子を求め、該識別子の前記処理優先度を高水準とする、
ことを特徴とする請求項３に記載のデータ受信装置。
【請求項５】
データ送信装置からパケットを受信するデータ受信装置で実行されるデータ受信方法であって、
データ送信装置から送信されたパケットを受信するパケット受信ステップと、
前記パケット受信ステップが受信した前記パケットが分割されていた場合に、該パケットの分割元のデータを識別する識別子毎に該パケットを記憶する分割パケット記憶ステップと、
前記分割パケット記憶ステップによって記憶された前記パケットを基に前記識別子毎の処理優先度を求める優先度取得ステップと、
前記分割パケット記憶ステップにおいて前記分割されているパケットが記憶された場合、前記処理優先度に従って、該記憶された前記パケットを再構築するか否かを判別するパケット再構築ステップと、を備える、
ことを特徴とするデータ受信方法。
【請求項６】
コンピュータを、
データ送信装置から送信されたパケットを受信するパケット受信手段、
前記パケット受信手段が受信した前記パケットが分割されていた場合に、該パケットの分割元のデータを識別する識別子毎に該パケットを記憶する分割パケット記憶手段、
前記分割パケット記憶手段によって記憶された前記パケットを基に前記識別子毎の処理優先度を求める優先度取得手段、
前記分割パケット記憶手段に前記分割されているパケットが記憶された場合、前記処理優先度に従って、該記憶された前記パケットを再構築するか否かを判別するパケット再構築手段、として機能させる、
ことを特徴とするデータ受信プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ受信装置、データ受信方法及びプログラムに関する。
【背景技術】
【０００２】
新たなコンテンツ流通の方法として、放送波でファイルを送信するＩＰＤＣ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ  Ｄａｔａ  Ｃａｓｔ）というサービスが注目を集めている。
【０００３】
ＩＰＤＣとは、データをＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）パケットとし、放送波を使用して伝送する技術のことであり、ＩＰＤＣを適用することで、ファイル形式のコンテンツを、放送波を用いて一斉同報的に配信することができる。
【０００４】
特許文献１は、一斉同報的に送信されたファイルを受信するデータ受信装置を開示している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００５−２２２４０１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１が開示するデータ受信装置は、動画コンテンツ等の大きなデータを受信する場合、データが送信元で分割され、パケットとして送信されるため、受信したこれらのパケットからデータを抽出し、再構築する処理が必要となる。
【０００７】
データを再構築する処理には高い負荷がかかり、特に、同時に複数のデータを再構築する場合、すなわち、同時に複数の動画コンテンツを視聴する場合は、データ受信装置に大きな負荷がかかることになる。
【０００８】
同時に複数のデータを再構築することでデータ受信装置に処理負荷がかかると、例えば、データ受信装置が携帯端末である場合、充電式電池の消耗時間が早くなり、ユーザが気軽に複数の動画コンテンツ等を楽しむことができない、といった問題が発生する。
【０００９】
本発明は、上記事情を鑑みてなされたものであり、データの再構築処理の負荷を軽減することができ、複数の大きなデータを受信する場合でも、支障なく動作することができるデータ受信装置、データ受信方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記目的を達成するため、本発明の第１の観点に係るデータ受信装置は、
データ送信装置から送信されたパケットを受信するパケット受信手段と、
前記パケット受信手段が受信した前記パケットが分割されていた場合に、該パケットの分割元のデータを識別する識別子毎に該パケットを記憶する分割パケット記憶手段と、
前記分割パケット記憶手段によって記憶された前記パケットを基に前記識別子毎の処理優先度を求める優先度取得手段と、
前記分割パケット記憶手段に前記分割されているパケットが記憶された場合、前記処理優先度に従って、該記憶された前記パケットを再構築するか否かを判別するパケット再構築手段と、を備える、
ことを特徴とする。
【００１１】
また、前記優先度取得手段は、
前記パケットの転送速度を表す単位時間当たりのサイズを取得する単位時間サイズ取得手段を備えるようにしても良い。
また、前記単位時間サイズ取得手段は、
単位時間当たりに前記分割パケット記憶手段に記憶された前記パケットのサイズを求め、
前記優先度取得手段は、
前記識別子毎に前記パケット再構築手段が前記分割パケット記憶手段に記憶された前記パケットの再構築が完了する予定時刻を求める予定時刻取得手段を備え、
前記単位時間サイズ取得手段が求めた前記サイズと、前記予定時刻取得手段が求めた前記予定時刻を基に前記処理優先度を求めるようにしても良い。
【００１２】
さらに、前記分割パケット記憶手段が複数の前記識別子の前記パケットを記憶している場合、
前記優先度取得手段は、
前記識別子毎に、前記単位時間サイズ取得手段が求めたサイズが所定の閾値を超えているか否かを判別し、前記所定の閾値を超えていない場合、該識別子の前記処理優先度を低水準とし、
前記所定の閾値を超えている該識別子が複数ある場合、前記予定時刻取得手段が求めた前記予定時刻が最も遅い前記識別子を求め、該識別子の前記処理優先度を高水準としても良い。
【００１４】
上記目的を達成するため、本発明の第２の観点に係るデータ受信方法は、
データ送信装置からパケットを受信するデータ受信装置で実行されるデータ受信方法であって、
データ送信装置から送信されたパケットを受信するパケット受信ステップと、
前記パケット受信ステップが受信した前記パケットが分割されていた場合に、該パケットの分割元のデータを識別する識別子毎に該パケットを記憶する分割パケット記憶ステップと、
前記分割パケット記憶ステップによって記憶された前記パケットを基に前記識別子毎の処理優先度を求める優先度取得ステップと、
前記分割パケット記憶ステップにおいて前記分割されているパケットが記憶された場合、前記処理優先度に従って、該記憶された前記パケットを再構築するか否かを判別するパケット再構築ステップと、を備える、
ことを特徴とする。
【００１５】
上記目的を達成するため、本発明の第３の観点に係るデータ受信プログラムは、
コンピュータを、
データ送信装置から送信されたパケットを受信するパケット受信手段、
前記パケット受信手段が受信した前記パケットが分割されていた場合に、該パケットの分割元のデータを識別する識別子毎に該パケットを記憶する分割パケット記憶手段、
前記分割パケット記憶手段によって記憶された前記パケットを基に前記識別子毎の処理優先度を求める優先度取得手段、
前記分割パケット記憶手段に前記分割されているパケットが記憶された場合、前記処理優先度に従って、該記憶された前記パケットを再構築するか否かを判別するパケット再構築手段、として機能させる、
ことを特徴とする。
【発明の効果】
【００１６】
本発明によれば、データの再構築処理の負荷を軽減することができ、複数の大きなデータを受信する場合でも、支障なく動作することができる。
【図面の簡単な説明】
【００１７】
【図１】本発明の実施形態に係るデータ受信装置の構成例を示すブロック図である。
【図２】パケットの再構築処理の概略を説明するための図である。
【図３】図１のデータ受信装置におけるパケット処理の一例を示すフロー図である。
【図４】図１のデータ受信装置における優先度処理の一例を示すフロー図である。
【図５】図１のデータ受信装置における優先度取得処理の一例を示すフロー図である。
【図６】図１のデータ受信装置における優先度処理の具体例を説明するための図である。
【発明を実施するための形態】
【００１８】
まず、ファイル形式のコンテンツを放送波で受信する方法について説明する。図２に示すように、コンテンツを配信するデータ送信サーバ２は、送信する動画等のファイルをソースブロックに分割し、さらにＲＦＣ３９２６で規定されるＦＬＵＴＥ（Ｆｉｌｅ  Ｄｅｌｉｖｅｒｙ  ｏｖｅｒ  Ｕｎｄｉｒｅｃｔｉｏｎａｌ  Ｔｒａｎｓｐｏｒｔ）パケットに分割し、ＦＬＵＴＥパケットをカルーセル方式で送信する。カルーセル方式とは、例えば、元のデータをパケット０からパケット１０に分割して送信する場合、回転木場のように、パケット０、パケット１、・・パケット１０、パケット０、パケット１・・、と順繰りに送信する方式である。
【００１９】
このとき、先頭のパケットはＦＤＴ（Ｆｉｌｅ  Ｄｅｌｉｖｅｒｙ  Ｔａｂｌｅ）となる。ＦＤＴとは、上述の分割されたＦＬＵＴＥパケットの順番や元のデータの位置等の情報を有するテーブルである。なお、先頭のパケットは、ＴＯＩ（Ｔｒａｎｓｐｏｒｔ  Ｏｂｊｅｃｔ  Ｉｄｅｎｔｉｆｅｒ）の値によって判別され、０である場合は先頭パケットであることを意味する。
【００２０】
放送波を受信するデータ受信装置１の一般的な放送波受信処理は、以下に示すフローで実施される。
（１）放送波を受信し、ＭＰＥＧ２−ＴＳ（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ  ２−Ｔｒａｎｓｐｏｒｔ  Ｓｔｒｅａｍ）パケットを取得する。
（２）ＭＰＥＧ２−ＴＳパケットを再構築し、ＵＤＰ／ＩＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）パケットを取得する。
（３）ＵＤＰ／ＩＰパケットからＦＬＵＴＥパケットを取得する。
（４）ＦＬＵＴＥパケットのヘッダ情報から、ＴＯＩが０であるパケット（先頭のパケット）を取得する。
（５）次のＦＤＴを受信するまで、ＦＬＵＴＥパケットを受信する。
（６）必要に応じてＦＥＣ（Ｆｏｒｗａｒｄ  Ｅｒｒｏｒ  Ｃｏｒｒｅｃｔｉｏｎ）で訂正し、元のデータを再構築する。
【００２１】
本実施形態では、図２に示すように、データ送信サーバ２が分割するデータを「分割元データ」、そのデータのサイズを「分割元データサイズ」、送信されたそれぞれのパケットを「分割パケット」と称する。また、データ受信装置１が受信した分割パケットを「受信済みパケット」、受信した分割パケットの合計サイズを「受信済みデータサイズ」、未受信の分割パケットの合計サイズを「未受信データサイズ」と称する。
【００２２】
続いて、本発明の実施形態に係るデータ受信装置について、図面を参照して説明する。
【００２３】
データ受信装置１は、図１に示すように、送受信部１０と、主記憶部１１と、外部記憶部１２と、制御部１３と、表示部１４と、操作部１５と、から構成されている。送受信部１０と、主記憶部１１と、外部記憶部１２と、表示部１４と、操作部１５は、いずれも内部バス１９を介して制御部１３と接続されている。
【００２４】
送受信部１０は、放送波を受信するアンテナを備え、アンテナを介してデータ送信サーバ２から放送波を受信する。送受信部１０は、放送波を受信すると、デジタルデータに変換し、制御部１３に変換したデータを供給する。
【００２５】
主記憶部１１は、ＲＡＭ（Ｒａｎｄｏｍ−Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等から構成され、外部記憶部１２に記憶されているプログラム１６を読み込み、さらに制御部１３の作業領域としても使用される。
【００２６】
外部記憶部１２は、フラッシュメモリ、ハードディスク、ＤＶＤ−ＲＡＭ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ  Ｒａｎｄｏｍ−Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＤＶＤ−ＲＷ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ  ＲｅＷｒｉｔａｂｌｅ）等の不揮発性メモリから構成され、後述するパケット処理及び優先度制御処理を制御部１３に行わせるためのプログラム１６を予め記憶し、また、制御部１３の指示に従って、外部記憶部１２が記憶するデータを制御部１３に供給し、制御部１３から供給されたデータを記憶する。また、外部記憶部１２は、パケットデータベース（以下、パケットＤＢとする）１３０と、優先度データベース（以下、優先度ＤＢとする）１４０と、を備え、さらに動画コンテンツにおけるＥＰＧ（Ｅｌｅｃｔｒｏｎｉｃ  Ｐｒｏｇｒａｍ  Ｇｕｉｄｅ）等を記憶する領域も備える。
【００２７】
パケットＤＢ１３０は、データ送信サーバ２から分割パケットを受信した場合、そのパケットを記憶するデータベースであり、データの再構築処理もパケットＤＢ１３０を参照して行われる。
【００２８】
優先度ＤＢ１４０は、パケットの優先度情報を記憶するデータベースであり、優先度の値（高、中、低等）と、その優先度に従った動作（処理、廃棄、滞留等）が記憶されている。
【００２９】
制御部１３は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）等から構成され、外部記憶部１２に記憶されているプログラム１６に従って、後述するパケット処理及び優先度処理を実行する。制御部１３は、プログラム１６により提供される主要な機能として、パケット処理部１１０と、優先度処理部１２０と、を備える。パケット処理部１１０は、ヘッダ処理部１１１と、パケット再構築部１１２と、を備え、優先度処理部１２０は、蓄積率測定部１２１と、優先度取得部１２２と、を備える。
【００３０】
ヘッダ処理部１１１は、上述の放送波受信処理や、受信したパケットの復号化、ヘッダ情報の解析、ヘッダの取り外し等の処理を行い、さらにタイマ機能を備える。また、ヘッダ処理部１１１は、受信したパケットが分割パケットであるか否かも判別し、分割パケットの場合、そのパケットを、パケットの識別子毎にパケットＤＢ１３０に記憶する。なお、識別子とは、分割元データ毎に付与されている識別子であり、分割元データを特定することができ、例えば、分割元のファイル名等である。
【００３１】
パケット再構築部１１２は、分割パケットを基に分割元データを再構築する。また、このとき、パケット再構築部１１２は、優先度ＤＢ１４０に記憶されているパケットの優先度を参照し、該当する優先度がある場合は、その優先度に従って分割パケットを処理する。
【００３２】
蓄積率測定部１２１は、パケットＤＢ１３０に記憶されている受信済みパケットを参照し、分割元データサイズに対する受信済みデータサイズの割合を求める。また、受信済みパケットの単位時間当たりの蓄積量（ｓｉｚｅ／ｓｅｃ等）も求める。単位時間当たりの蓄積量は、すなわち、識別子毎の転送速度（ｂｉｔ  ｐｅｒ  ｓｅｃｏｎｄ等）を表している。
【００３３】
優先度取得部１２２は、蓄積率測定部１２１が求めた値を基に、識別子毎に、パケットの優先度を求め、求めた優先度を優先度ＤＢ１４０に記憶する。優先度は、蓄積率測定部１２１が求めた値から求められるが、これに限られない。例えば、予めユーザによって優先度の高い識別子を設定させても良く、ユーザが使用しているパケット（例えば、視聴中の動画コンテンツのパケット等）の優先度を高くしても良い。この優先度は、優先度ＤＢ１４０に記憶される。
【００３４】
表示部１４は、ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）または有機ＥＬ（Ｅｌｅｃｔｒｏ  Ｌｕｍｉｎｅｓｃｅｎｃｅ）等から構成されている。表示部１４は、各データや情報を表示する。
【００３５】
操作部１５は、キーボードやマウス、操作キーやタッチパネルなどの入力デバイス等と、入力デバイス等を内部バス１９に接続するインタフェース装置から構成されている。操作部１５は、ユーザの指示を入力させる機能を備える。
【００３６】
以上が、データ受信装置１の構成である。
【００３７】
続いて、データ受信装置１の動作について、図３乃至５に示すフローチャートを用いて説明する。データ受信装置１では、プログラム１６が提供するパケット処理部１１０と優先度処理部１２０が動作する。なお、パケット処理部１１０と、優先度処理部１２０は、並行に動作する。
【００３８】
パケット処理部１１０は、送受信部１０が制御部１３にパケットデータを供給すると、図３に示すパケット処理部１１０の処理を開始する。
【００３９】
ヘッダ処理部１１１は、パケット受信処理を実施する（Ｓ１００）。パケット受信処理は、例えば、上述した放送波受信処理の（１）〜（３）や、受信パケットのＣＲＣ（Ｃｙｃｌｉｃ  Ｒｅｄｕｎｄａｎｃｙ  Ｃｈｅｃｋ）の判別や、暗号化パケットの復号化処理、パケットの整合性の判別処理等である。
【００４０】
次にヘッダ処理部１１１は、ヘッダ解析処理を実行する（Ｓ１０１）。ヘッダ解析処理は、パケットに付与されている各ヘッダ情報を抽出する。例えば、ＦＬＵＴＥ、ＵＤＰ、ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）、ＵＬＥ（Ｕｎｉｄｉｒｅｃｔｉｏｎ  Ｌｉｇｈｔｗｅｉｇｈｔ  Ｅｎｃａｐｓｕｌａｔｉｏｎ）ヘッダ等の解析を実行する。ここでＦＬＵＴＥパケットを受信した場合、ヘッダ処理部１１１は、ＦＬＵＴＥパケットのヘッダ情報を基にＴＯＩが０であるパケットを判別し、ＦＤＴを取得する。
【００４１】
さらに、ヘッダ処理部１１１は、受信したパケットが分割パケットか否かを判別し（Ｓ１０２）、分割パケットである場合は、分割パケットの識別子毎に分類してパケットＤＢ１３０に分割パケットを記憶する（Ｓ１０４）。このとき、ヘッダ処理部１１１は、そのパケットを受信した時刻も同時にパケットＤＢ１３０に記憶する。
【００４２】
なお、分割パケットであるか否かの判別方法は任意であり、例えば、受信パケットのＩＰヘッダのフィールドを基に判別しても良く、ＦＤＴを基に判別しても良い。
【００４３】
受信したパケットが分割パケットではない場合、ヘッダ処理部１１１は、非分割パケット処理を実行する（Ｓ１０３）。非分割パケット処理は、データ受信装置１で起動しているアプリケーションにパケットを送る処理や、受信したパケットを中継する処理等を実行する。
【００４４】
パケット再構築部１１２は、ヘッダ処理部１１１によって分割パケットがパケットＤＢ１３０に記憶されると、優先度ＤＢ１４０を参照し、受信した分割パケットに該当する優先度があるか否かを判別する（Ｓ１０５）。該当する優先度がある場合は、その優先度を特定し（Ｓ１０６）、優先度を基にパケットを処理するか否かを判別する（Ｓ１０７）。該当する優先度が無い場合、または優先度を基にパケットを処理すると判別した場合、受信済みパケットを参照し、分割元データサイズを取得する（Ｓ１０８）。
【００４５】
なお、優先度に従ってパケットを処理しないと判別した場合、パケット再構築部１１２は、受信パケットをそのまま廃棄し（Ｓ１１１）、処理を終了する。
【００４６】
優先度に従った受信パケットの判別は、優先度ＤＢ１４０に記憶されている定義に従う。この定義は、識別子別の優先度と、優先度別の動作により構成される。優先度別の動作とは、例えば、「優先度高は全て受信する」や、「優先度中は５０％のパケットを受信する」や、「優先度低は全てのパケットを廃棄」等であるが、これに限られず、パケットを滞留させても良く、後述する蓄積量や単位時間蓄積量に従って動作を定義しても良い。なお、本実施形態では、理解を容易にするため、定義する優先度は高、中、低、の３段階とする。
【００４７】
また、優先度に従って受信パケットを廃棄した場合でも、ファイル形式のコンテンツを放送波で受信する場合、上述の通りパケットはカルーセル方式で送信されるため、所定の時間内であれば廃棄したパケットを再度受信することが可能である。すなわち、所定の割合の受信パケットの廃棄は、再構築の完了時間を遅らせることを意味する。
【００４８】
また、分割元データサイズの求め方は任意であり、例えば、ＦＤＴのＣｏｎｔｅｎｔ−Ｌｅｎｇｔｈから求めることができる。
【００４９】
次に、パケット再構築部１１２は、分割パケットのデータを再構築し（Ｓ１０９）、データの再構築が完了したか否かを判別する（Ｓ１１０）。この判別は、分割元データサイズと受信済みデータサイズを比較することで判別するが、これに限られず、受信した分割パケット数や、最後の分割パケットを受信したか否かで判別しても良い。また、データの再構築方法は任意であり、例えば、ＩＰヘッダを基に再構築しても良く、ＦＤＴを基にＦＥＣで補完しながら再構築しても良い。
【００５０】
パケット再構築部１１２は、データの再構築が未完了の場合、パケット処理を終了し、データの再構築が完了した場合、再構築が完了したデータを処理し（Ｓ１０３）、パケット処理を終了する。
【００５１】
次に、優先度処理部１２０は、パケット処理部１１０が分割パケットをパケットＤＢ１３０に記憶すると、図４に示す優先度処理部１２０の処理を開始する。
【００５２】
蓄積率測定部１２１は、パケットＤＢ１３０を参照し、分割元データサイズを取得する（Ｓ２００）。パケットＤＢ１３０には、現在再構築をしている全識別子のパケットのデータが記憶されているため、全識別子の分割元データサイズを取得する。
【００５３】
次に、蓄積率測定部１２１は、受信済みデータサイズを、パケットＤＢ１３０を参照して取得する（Ｓ２０１）。
【００５４】
次に、蓄積率測定部１２１は、蓄積率を求める（Ｓ２０２）。ここで、蓄積率とは、分割元データサイズに対する受信済みデータサイズの割合のことである。すなわち、「分割元データサイズ÷受信済みデータサイズ」の計算結果を求める。
【００５５】
次に、蓄積率測定部１２１は、単位時間当たりの蓄積量（ｓｉｚｅ／ｔｉｍｅ）を求める（Ｓ２０３）。これは、「受信済みデータサイズ÷経過時間」によって計算される。経過時間は、パケットＤＢ１３０に記憶されている受信時刻に基づいて求めることができ、単位時間は、任意に決めることができる。例えば、ミリ秒でも良く、マイクロ秒でも良い。
【００５６】
蓄積率測定部１２１がこれら二つの値を求めると、優先度取得部１２２は、優先度取得処理を実行し（Ｓ２０４）、優先度処理を終了する。
【００５７】
優先度取得部１２２における優先度取得処理は、図５に示すように、複数の識別子のデータを再構築中か否かを判別する（Ｓ３００）。分割パケットは識別子毎に分類されてパケットＤＢ１３０に記憶されているため、この判別は、パケットＤＢ１３０を参照することで可能となる。
【００５８】
一つの識別子のデータを再構築している場合（複数ではない）、優先度取得部１２２は、優先度取得処理を終了する。複数の識別子のデータを再構築している場合、優先度取得部１２２は、識別子毎の蓄積に必要な時間、すなわち、再構築に必要な全ての分割パケットの受信に必要な時間を求める（Ｓ３０１）。この時間は、「未受信データサイズ÷単位時間蓄積量」によって求められる。
【００５９】
次に、優先度取得部１２２は、識別子毎の再構築完了予想時刻を求める（Ｓ３０２）。これは、現在時刻にステップＳ３０１で求めた蓄積に必要な時間を加算することで求めることができる。
【００６０】
次に、優先度取得部１２２は、識別子毎に単位時間蓄積量が閾値を超えているか否かを判別する（Ｓ３０３）。ここで、単位時間蓄積量の閾値は、任意に定義することができ、予め記憶部に記憶させても良く、ハードコーディングしても良い。
【００６１】
単位時間蓄積量は、パケット転送速度を表しているため、ここでの処理は、
パケット転送速度が一定速度以下の場合、なんらかの通信トラブルが発生した可能性等を考慮している。
【００６２】
単位時間蓄積量が閾値を超えていない場合、優先度取得部１２２は、該当する識別子の優先度を最も低くして優先度ＤＢ１４０に記憶し（Ｓ３０４）。また、該当識別子の受信を中断する旨を表示部１４に通知することでユーザに知らせ（Ｓ３０５）、優先度取得処理を終了する。単位時間蓄積量が閾値を超えている場合、優先度取得部１２２は、該当する識別子が複数あるか否かを判別する（Ｓ３０６）。
【００６３】
該当する識別子が一つだけの場合、優先度取得部１２２は、その識別子の優先度を最も高くして優先度ＤＢ１４０に記憶し（Ｓ３０７）、優先度取得処理を終了する。該当する識別子が複数ある場合、優先度取得部１２２は、予め設定された優先度の高い識別子があるか否かを判別する（Ｓ３０８）。
【００６４】
予め設定された優先度の高い識別子がない場合、優先度取得部１２２は、該当する各識別子の再構築完了予想時刻を判別し、最も再構築完了予想時刻が早い識別子の優先度を最も高くして優先度ＤＢ１４０に記憶し（Ｓ３０９）、優先度取得処理を終了する。予め設定された優先度の高い識別子がある場合、優先度取得部１２２は、該当する識別子が複数存在するか否か判別する（Ｓ３１０）。
【００６５】
該当する識別子が一つだけの場合、優先度取得部１２２は、その識別子の優先度を最も高くして優先度ＤＢ１４０に記憶し（Ｓ３１１）、優先度取得処理を終了する。該当する識別子が複数ある場合、優先度取得部１２２は、再構築完了予想時刻が最も遅い識別子の優先度を最も高くして優先度ＤＢ１４０に記憶し（Ｓ３１２）、優先度取得処理を終了する。
【００６６】
なお、データ受信装置１は、優先度取得部１２２が求めた優先度以外でも、予め優先度ＤＢ１４０に優先度を記憶しておくことができる。
【００６７】
また、優先度処理は、予め設定されたタイマが満了したことに起因して、処理を開始しても良い。
【００６８】
以上説明したように、本実施形態に係る優先度処理が実行されると、優先度処理部１２０は、データの再構築状態に従って、識別子毎に優先度を付与する。これにより、パケット処理部１１０は、優先度の高いパケットの処理に専念することができ、データの再構築に係る処理の負荷を軽減することができる。
【００６９】
続いて、理解を容易にするために、データ受信装置１の具体的な動作を、説明する。以下の具体例では、データ受信装置１を携帯電話に搭載し、ユーザが動画コンテンツを視聴している際の動作について説明する。
【００７０】
外部記憶部１２は、図６に示すように、ＥＰＧ（番組表データ）と、分割パケットを記憶している。ＥＰＧは、競馬場の映像コンテンツに係る番組表であり、予め外部記憶部１２に記憶されている。データ受信装置１は、３セッション分の放送波を受信し、パケットを抽出してデータを再構築している。また、点線で示しているのは、現在時刻である。この場合、現在時刻は１０時３７分である。
【００７１】
また、ＥＰＧにおけるハッチング部分は、現在データ受信装置１が受信しているコンテンツであり、パケットＤＢ１３０におけるハッチング部分は、受信済みパケットであり、空白部分は未受信パケットである。
【００７２】
なお、セッション毎に送信されるパケットの識別子は、上述のＦＤＴから求めることができる。
【００７３】
蓄積率測定部１２１は、パケットＤＢ１３０を参照し、分割元データサイズを取得する。図６を参照すると、セッション１、２、３全ての分割元データサイズは、１５Ｍｂｙｔｅとなる。
【００７４】
次に、蓄積率測定部１２１は、受信済みデータサイズを取得する。図６を参照すると、セッション１の受信済みデータサイズは、１０Ｍｂｙｔｅ、セッション２の受信済みデータサイズは、５Ｍｂｙｔｅ、セッション３の受信済みデータサイズは、１０Ｍｂｙｔｅ、となる。
【００７５】
次に、蓄積率測定部１２１は、蓄積率を求める。この計算は、「受信済みデータサイズ÷分割元データサイズ」によって行われる。例えば、セッション１の場合、受信済みデータサイズは１０Ｍｂｙｔｅであり、分割元データサイズが１５Ｍｂｙｔｅであることから、蓄積率は２／３、すなわち、約６７％となる。
【００７６】
次に、蓄積率測定部１２１は、単位時間当たりの蓄積量を求める。この計算は、各セッションのコンテンツを受信している時間、すなわち、再構築処理を行っている時間を基に計算する。例えば、セッション１の場合、受信済みデータサイズは１０Ｍｂｙｔｅであり、経過時間が１７分（１０時３７分−１０時２０分）であることから、単位時間蓄積量は、約０．５９Ｍｂｙｔｅ／ｍｉｎとなる。
【００７７】
上述の通り各値を求めた場合、蓄積率測定部１２１は、図６（ａ）に示す値を求めることになる。なお、単位時間蓄積量の単位は、「Ｍｂｙｔｅ／分」である。この単位は、分単位に限られず、秒単位でも良く、ミリ秒、マイクロ秒単位でも良い。また、サイズの単位に関しても、Ｍｂｙｔｅ単位に限られず、Ｋｂｙｔｅ単位でも良く、ｂｙｔｅ単位、ｂｉｔ単位でも良い。
【００７８】
次に、優先度取得部１２２は、複数の識別子のパケットを再構築中か否かを判別する。図６に示す通り、データ受信装置１は複数のセッションのコンテンツを受信・再構築しているため、優先度取得部１２２は、複数の識別子のパケットを再構築していると判別する。
【００７９】
次に、優先度取得部１２２は、識別子毎に蓄積に必要な時間、すなわち、再構築が完了する予想残り時間を求める。この計算は、「未受信データサイズ÷単位時間蓄積量」によって行われる。例えば、セッション１の場合、未受信データサイズは５Ｍｂｙｔｅであり、単位時間蓄積量は０．５９Ｍｂｙｔｅ／ｍｉｎであるから、残り時間は、約８．５分と求められる。
【００８０】
次に、優先度取得部１２２は、識別子毎の再構築完了予想時刻を求める。この計算は、「現在の時刻＋予想残り時間」によって行われる。例えば、セッション１の場合、現在の時刻が１０時３７分であり、予想残り時間が約８．５分であることから、再構築完了予想時刻は、おおよそ１０：４６分となる。
【００８１】
上述の通り各値を求めると、優先度取得部１２２は、図６（ｂ）に示す値を求めることとなる。
【００８２】
次に、優先度取得部１２２は、識別子毎の単位時間蓄積量が閾値を超えているか否かを判別する。閾値が０．６Ｍｂｙｔｅ／ｍｉｎと予め定義されている場合、セッション１のコンテンツは閾値以下、セッション２及び３のコンテンツは閾値以上と求められる。
【００８３】
セッション１は閾値を下回っているため、優先度取得部１２２は、セッション１のコンテンツのパケットについては、以降受信しないような、最も低い優先度を優先度ＤＢ１４０に格納する。さらに、表示部１４に受信中断通知を送信し、ユーザにセッション１のコンテンツの受信を中止した旨を通知する。
【００８４】
次に、優先度取得部１２２は、閾値を超えている識別子が複数あるか否かを判別する。閾値を超えているコンテンツは、セッション２、３のコンテンツの二つであるため、次に優先度取得部１２２は、優先度が高い識別子があるか否かを判別する。
【００８５】
ここで、優先度ＤＢ１４０に優先度が予め設定されていない場合と、予め設定されている場合の複数のパターンについて説明する。
【００８６】
初めに、図６（ｃ）に示すように、予め優先度ＤＢ１４０に優先度が設定されていない場合、優先度取得部１２２は、再構築完了予想時刻が最も早いコンテンツの優先度を、最も高くして優先度ＤＢ１４０に記憶する。
【００８７】
すなわち、セッション３のコンテンツの再構築完了予想時刻が最も早いため、優先度取得部１２２は、セッション３のコンテンツの優先度を最も高くし、セッション２のコンテンツの優先度については通常の優先度にし、これらの優先度を優先度ＤＢ１４０に記憶する。上述のように優先度取得部１２２が優先度を求めた場合、優先度ＤＢ１４０に記憶される優先度は、図６（ｃ’）に示すようになる。
【００８８】
このように優先度取得部１２２が優先度ＤＢ１４０にセッション３のコンテンツの優先度を高水準で記憶させることで、パケット再構築部１１２は、セッション３のコンテンツのパケットを優先的に再構築することができる。
【００８９】
なお、この場合のセッション２のコンテンツの優先度については、通常の優先度である必要は無く、例えば、最も低い優先度にし、セッション３のコンテンツのデータ再構築に専念させても良い。
【００９０】
次に、図６（ｄ）に示すように、予め「本馬場入場」のコンテンツの優先度が設定されている場合、優先度取得部１２２は、該当するコンテンツが複数あるか否かを判別し、該当するコンテンツが一つのみの場合、そのコンテンツの優先度を最も高くし、優先度ＤＢ１４０に記憶する。
【００９１】
すなわち、セッション２のコンテンツのみが「本馬場入場」に該当するため、優先度取得部１２２は、セッション２のコンテンツの優先度を最も高くして優先度ＤＢ１４０に記憶し、セッション３のコンテンツの優先度は、通常の優先度で優先度ＤＢ１４０に記憶する。上述のように優先度取得部１２２が優先度を求めた場合、優先度ＤＢ１４０に記憶される優先度は、図６（ｄ’）に示すようになる。
【００９２】
このように優先度取得部１２２が優先度ＤＢ１４０にセッション２のコンテンツの優先度を高水準で記憶させることで、パケット再構築部１１２は、セッション２のコンテンツのパケットを優先的に再構築することができる。
【００９３】
なお、この場合のセッション３のコンテンツの優先度については、通常の優先度である必要は無く、例えば、最も低い優先度にし、セッション３のコンテンツのデータ再構築に専念させても良い。
【００９４】
次に、図６（ｅ）に示すように、予め「ユーザ視聴中」、「馬券発売締切り付近」のコンテンツの優先度が設定されている場合について説明する。
【００９５】
まず、優先度取得部１２２は、ユーザがセッション２のコンテンツを視聴している場合、そのコンテンツの優先度を最も高くして優先度ＤＢ１４０に記憶し、セッション３のコンテンツを視聴している場合、そのコンテンツの優先度を最も高くして優先度ＤＢ１４０に記憶する。
【００９６】
しかしながら、ユーザがセッション１のコンテンツ、若しくはセッション２、３のどちらのコンテンツも視聴していない場合、優先度取得部１２２は、馬券発売締切りが近いコンテンツを判別する。
【００９７】
この場合、セッション２、３どちらのコンテンツも該当するため、優先度取得部１２２は、再構築完了予想時刻が最も遅いコンテンツの優先度を、最も高くして優先度ＤＢ１４０に記憶する。
【００９８】
すなわち、セッション２のコンテンツの再構築完了予想時刻の方が遅いため、優先度取得部１２２は、セッション２のコンテンツの優先度を最も高くして優先度ＤＢ１４０に記憶する。上述のように優先度取得部１２２が優先度を求めた場合、優先度ＤＢ１４０に記憶される優先度は、図６（ｅ’）に示すようになる。
【００９９】
このように優先度取得部１２２が優先度ＤＢ１４０にセッション２のコンテンツの優先度を高水準で記憶させることで、パケット再構築部１１２は、セッション２のコンテンツのパケットを優先的に再構築することができる。
【０１００】
なお、この場合のセッション３のコンテンツの優先度については、通常の優先度である必要は無く、例えば、最も低い優先度にし、セッション３のコンテンツのデータ再構築に専念させても良い。
【０１０１】
以上説明したように、本実施形態に係るデータ受信装置１が携帯電話に搭載され、複数の動画コンテンツを同時に受信している場合でも、コンテンツ毎に優先度を付与することができ、この優先度に従ってデータを再構築することで、負荷を軽減し、さらに電池消費量も軽減することができる。
【０１０２】
また、本実施形態に係るデータ受信装置１は、予め優先度を上げたいコンテンツを設定することができるため、ユーザが視聴したいコンテンツを優先的に受信することができる。従って、ユーザが意図したコンテンツを優先的に受信し、ユーザのストレスを軽減することができる。
【０１０３】
［変形例］
本発明は、上記実施形態に限定されず、種々の変形例及び応用が可能である。上記実施形態では、携帯電話を搭載した例によって説明したが、これに限られず、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）、パーソナルコンピュータ、ゲーム機、ノート型パーソナルコンピュータ等の各種の携帯端末装置や、ルータ、ゲートウェイ等の各種のネットワーク装置にも適用することができる。
【０１０４】
また、本実施形態では、ファイル形式のコンテンツを放送波で送受信する場合の具体的な動作について説明したが、これに限られず、ネットワーク上でパケットの送受信を行うデータ受信装置等でも、本発明を適用することができる。当然、データの再構築機能を搭載している装置に対しても、本発明を適用することができる。
【０１０５】
また、本実施形態では、放送波を受信するアンテナを備える送受信部１０から構成されるデータ受信装置１について説明したが、これに限られない。例えば、データ受信装置１とデータ送信サーバがネットワークを介して接続している場合、送受信部１０は、ネットワークに接続する網終端装置または無線通信装置と、それらと接続するシリアルインタフェースまたはＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）インタフェースから構成されていても良い。また、送受信部１０は、ネットワークを介して、データ送信サーバ２からパケットを受信し、制御部１３に受信したパケットを供給しても良い。
【０１０６】
また、本実施形態では、受信済みデータサイズ、分割元データサイズ及び再構築に係る時間を基に優先度を求めたが、これに限られず、例えば、送信元、宛先ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）アドレス、送信元、宛先ポート番号等から優先度を求めても良い。
【０１０７】
また、本実施形態では、優先度に従った処理は予め決められていたが、これに限られず、例えば、「蓄積率が７５％以上の場合はパケットを７５％受信」等のように、蓄積率や、その他求めた値に従って動作を定義しても良い。
【０１０８】
また、本実施形態では、予め優先度を上げたいコンテンツを設定することができるが、これに限られず、例えば、予め優先度を下げたいコンテンツや、いかなる状況でも優先度を変更しないコンテンツ等も設定することができる。
【０１０９】
また、本実施形態では、複数の識別子のパケットを再構築している場合に優先度を求めて負荷を軽減させたが、これに限られず、単一の識別子を再構築している場合でも優先度を求めて負荷を軽減させても良い。
【０１１０】
また、本実施形態では、単位時間蓄積量が閾値を下回るコンテンツを最も低い優先度とし、配信終了時間が短いコンテンツ、再構築完了予想時刻が遅いコンテンツ、予め設定されたコンテンツを最も高い優先度としたが、これに限らず、極端に最も高くなくても良く、最も低くなくても良い。例えば、優先度を１０段階に分け、低水準の優先度（１〜５）、高水準の優先度（６〜１０）から選択しても良い。
【０１１１】
また、本実施形態に係るデータ受信装置１は、専用のシステムによらず、通常のコンピュータシステムを用いて実現可能である。たとえば、前記の動作を実行するためのプログラム１６を、コンピュータが読み取り可能な記録媒体（フレキシブルディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ等）に格納して配布し、このプログラム１６をコンピュータにインストールすることにより、上述の処理を実行するデータ受信装置１を構成してもよい。また、インターネット等の通信ネットワーク上のサーバ装置が有する記憶装置にこのプログラム１６を格納しておき、通常のコンピュータシステムがダウンロード等することでデータ受信装置１を構成してもよい。
【０１１２】
また、データ受信装置１の機能を、ＯＳ（オペレーティングシステム）とアプリケーションプログラムの分担、またはＯＳとアプリケーションプログラムとの協働により実現する場合などには、アプリケーションプログラム部分のみを記録媒体や記憶装置に格納してもよい。
【０１１３】
また、搬送波にプログラム１６を重畳し、通信ネットワークを介して配信することも可能である。たとえば、通信ネットワーク上の掲示板（ＢＢＳ：Ｂｕｌｌｅｔｉｎ  Ｂｏａｒｄ  Ｓｙｓｔｅｍ）にこのプログラム１６を掲示し、ネットワークを介してプログラム１６を配信してもよい。そして、このプログラム１６を起動し、ＯＳの制御下で、他のアプリケーションプログラムと同様に実行することにより、上記の処理を実行できるように構成してもよい。
【符号の説明】
【０１１４】
１        データ受信装置
２        データ送信サーバ
１０      送受信部
１１      主記憶部
１２      外部記憶部
１３      制御部
１４      表示部
１５      操作部
１６      プログラム
１９      内部バス
１１０    パケット処理部
１１１    ヘッダ処理部
１１２    パケット再構築部
１２０    優先度処理部
１２１    蓄積率測定部
１２２    優先度取得部
１３０    パケットデータベース
１４０    優先度データベース
【図１】
0005530901.tif 000002
【図２】
0005530901.tif 000003
【図３】
0005530901.tif 000004
【図４】
0005530901.tif 000005
【図５】
0005530901.tif 000006
【図６】
0005530901.tif 000007