説明

データ受信装置、データ受信方法及びプログラム

【課題】データの再構築処理の負荷を軽減することができ、複数の大きなデータを受信する場合でも、支障なく動作することができるデータ受信装置、データ受信方法及びプログラムを提供する。
【解決手段】パケットDB130は、再構築する必要があるパケットを記憶し、蓄積率測定部121は、パケットDB130を基に受信済みパケットの蓄積率及び単位時間当たりの蓄積量を求め、優先度取得部122は、蓄積率、単位時間当たりの蓄積量、再構築完了予定時間及び、予め優先度DB140に記憶されている優先度を基に、識別子毎に優先度を求め、求めた優先度を優先度DB140に記憶し、パケット再構築部112は、優先度DB140に記憶されている優先度に従って識別子毎のパケットを処理する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データ受信装置、データ受信方法及びプログラムに関する。
【背景技術】
【0002】
新たなコンテンツ流通の方法として、放送波でファイルを送信するIPDC(Internet Protocol Data Cast)というサービスが注目を集めている。
【0003】
IPDCとは、データをIP(Internet Protocol)パケットとし、放送波を使用して伝送する技術のことであり、IPDCを適用することで、ファイル形式のコンテンツを、放送波を用いて一斉同報的に配信することができる。
【0004】
特許文献1は、一斉同報的に送信されたファイルを受信するデータ受信装置を開示している。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2005−222401号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
特許文献1が開示するデータ受信装置は、動画コンテンツ等の大きなデータを受信する場合、データが送信元で分割され、パケットとして送信されるため、受信したこれらのパケットからデータを抽出し、再構築する処理が必要となる。
【0007】
データを再構築する処理には高い負荷がかかり、特に、同時に複数のデータを再構築する場合、すなわち、同時に複数の動画コンテンツを視聴する場合は、データ受信装置に大きな負荷がかかることになる。
【0008】
同時に複数のデータを再構築することでデータ受信装置に処理負荷がかかると、例えば、データ受信装置が携帯端末である場合、充電式電池の消耗時間が早くなり、ユーザが気軽に複数の動画コンテンツ等を楽しむことができない、といった問題が発生する。
【0009】
本発明は、上記事情を鑑みてなされたものであり、データの再構築処理の負荷を軽減することができ、複数の大きなデータを受信する場合でも、支障なく動作することができるデータ受信装置、データ受信方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0010】
上記目的を達成するため、本発明の第1の観点に係るデータ受信装置は、
データ送信装置から送信されたパケットを受信するパケット受信手段と、
前記パケット受信手段が受信した前記パケットが分割されていた場合に、該パケットの分割元のデータを識別する識別子毎に該パケットを記憶する分割パケット記憶手段と、
前記分割パケット記憶手段によって記憶された前記パケットを基に前記識別子毎の処理優先度を求める優先度取得手段と、
前記優先度取得手段が求めた前記処理優先度を記憶する優先度記憶手段と、
前記優先度記憶手段に記憶された前記処理優先度に従って、前記分割パケット記憶手段に記憶された前記パケットを再構築するか否かを判別するパケット再構築手段と、を備える、
ことを特徴とする。
【0011】
また、前記優先度取得手段は、
単位時間当たりに前記分割パケット記憶手段に記憶された前記パケットのサイズを求める単位時間サイズ取得手段と、
前記識別子毎に前記パケット再構築手段が前記分割パケット記憶手段に記憶された前記パケットの再構築が完了する予定時刻を求める予定時刻取得手段と、を備え、
前記単位時間サイズ取得手段が求めた前記サイズと、前記予定時刻取得手段が求めた前記予定時刻を基に前記処理優先度を求めるようにしても良い。
【0012】
さらに、前記分割パケット記憶手段が複数の前記識別子の前記パケットを記憶している場合、
前記優先度取得手段は、
前記識別子毎に、前記単位時間サイズ取得手段が求めたサイズが所定の閾値を超えているか否かを判別し、前記所定の閾値を超えていない場合、該識別子の前記処理優先度を低水準とし、
前記所定の閾値を超えている該識別子が複数ある場合、前記予定時刻取得手段が求めた前記予定時刻が最も遅い前記識別子を求め、該識別子の前記処理優先度を高水準としても良い。
【0013】
また、前記優先度記憶手段は、予め前記識別子毎の初期優先度を記憶し、
前記パケット再構築手段は、前記識別子に該当する前記優先度記憶手段に記憶される前記初期優先度を求め、該初期優先度に従って前記分割パケット記憶手段に記憶された前記パケットを再構築するか否かを判別しても良い。
【0014】
上記目的を達成するため、本発明の第2の観点に係るデータ受信方法は、
データ送信装置からパケットを受信するデータ受信装置で実行されるデータ受信方法であって、
データ送信装置から送信されたパケットを受信するパケット受信ステップと、
前記パケット受信ステップが受信した前記パケットが分割されていた場合に、該パケットの分割元のデータを識別する識別子毎に該パケットを記憶する分割パケット記憶ステップと、
前記分割パケット記憶ステップによって記憶された前記パケットを基に前記識別子毎の処理優先度を求める優先度取得ステップと、
前記優先度取得ステップが求めた前記処理優先度を記憶する優先度記憶ステップと、
前記優先度記憶ステップに記憶された前記処理優先度に従って、前記分割パケット記憶ステップに記憶された前記パケットを再構築するか否かを判別するパケット再構築ステップと、を備える、
ことを特徴とする。
【0015】
上記目的を達成するため、本発明の第3の観点に係るデータ受信プログラムは、
コンピュータを、
データ送信装置から送信されたパケットを受信するパケット受信手段、
前記パケット受信手段が受信した前記パケットが分割されていた場合に、該パケットの分割元のデータを識別する識別子毎に該パケットを記憶する分割パケット記憶手段、
前記分割パケット記憶手段によって記憶された前記パケットを基に前記識別子毎の処理優先度を求める優先度取得手段、
前記優先度取得手段が求めた前記処理優先度を記憶する優先度記憶手段、
前記優先度記憶手段に記憶された前記処理優先度に従って、前記分割パケット記憶手段に記憶された前記パケットを再構築するか否かを判別するパケット再構築手段、として機能させる、
ことを特徴とする。
【発明の効果】
【0016】
本発明によれば、データの再構築処理の負荷を軽減することができ、複数の大きなデータを受信する場合でも、支障なく動作することができる。
【図面の簡単な説明】
【0017】
【図1】本発明の実施形態に係るデータ受信装置の構成例を示すブロック図である。
【図2】パケットの再構築処理の概略を説明するための図である。
【図3】図1のデータ受信装置におけるパケット処理の一例を示すフロー図である。
【図4】図1のデータ受信装置における優先度処理の一例を示すフロー図である。
【図5】図1のデータ受信装置における優先度取得処理の一例を示すフロー図である。
【図6】図1のデータ受信装置における優先度処理の具体例を説明するための図である。
【発明を実施するための形態】
【0018】
まず、ファイル形式のコンテンツを放送波で受信する方法について説明する。図2に示すように、コンテンツを配信するデータ送信サーバ2は、送信する動画等のファイルをソースブロックに分割し、さらにRFC3926で規定されるFLUTE(File Delivery over Undirectional Transport)パケットに分割し、FLUTEパケットをカルーセル方式で送信する。カルーセル方式とは、例えば、元のデータをパケット0からパケット10に分割して送信する場合、回転木場のように、パケット0、パケット1、・・パケット10、パケット0、パケット1・・、と順繰りに送信する方式である。
【0019】
このとき、先頭のパケットはFDT(File Delivery Table)となる。FDTとは、上述の分割されたFLUTEパケットの順番や元のデータの位置等の情報を有するテーブルである。なお、先頭のパケットは、TOI(Transport Object Identifer)の値によって判別され、0である場合は先頭パケットであることを意味する。
【0020】
放送波を受信するデータ受信装置1の一般的な放送波受信処理は、以下に示すフローで実施される。
(1)放送波を受信し、MPEG2−TS(Moving Picture Experts Group 2−Transport Stream)パケットを取得する。
(2)MPEG2−TSパケットを再構築し、UDP/IP(User Datagram Protocol/Internet Protocol)パケットを取得する。
(3)UDP/IPパケットからFLUTEパケットを取得する。
(4)FLUTEパケットのヘッダ情報から、TOIが0であるパケット(先頭のパケット)を取得する。
(5)次のFDTを受信するまで、FLUTEパケットを受信する。
(6)必要に応じてFEC(Forward Error Correction)で訂正し、元のデータを再構築する。
【0021】
本実施形態では、図2に示すように、データ送信サーバ2が分割するデータを「分割元データ」、そのデータのサイズを「分割元データサイズ」、送信されたそれぞれのパケットを「分割パケット」と称する。また、データ受信装置1が受信した分割パケットを「受信済みパケット」、受信した分割パケットの合計サイズを「受信済みデータサイズ」、未受信の分割パケットの合計サイズを「未受信データサイズ」と称する。
【0022】
続いて、本発明の実施形態に係るデータ受信装置について、図面を参照して説明する。
【0023】
データ受信装置1は、図1に示すように、送受信部10と、主記憶部11と、外部記憶部12と、制御部13と、表示部14と、操作部15と、から構成されている。送受信部10と、主記憶部11と、外部記憶部12と、表示部14と、操作部15は、いずれも内部バス19を介して制御部13と接続されている。
【0024】
送受信部10は、放送波を受信するアンテナを備え、アンテナを介してデータ送信サーバ2から放送波を受信する。送受信部10は、放送波を受信すると、デジタルデータに変換し、制御部13に変換したデータを供給する。
【0025】
主記憶部11は、RAM(Random−Access Memory)等から構成され、外部記憶部12に記憶されているプログラム16を読み込み、さらに制御部13の作業領域としても使用される。
【0026】
外部記憶部12は、フラッシュメモリ、ハードディスク、DVD−RAM(Digital Versatile Disc Random−Access Memory)、DVD−RW(Digital Versatile Disc ReWritable)等の不揮発性メモリから構成され、後述するパケット処理及び優先度制御処理を制御部13に行わせるためのプログラム16を予め記憶し、また、制御部13の指示に従って、外部記憶部12が記憶するデータを制御部13に供給し、制御部13から供給されたデータを記憶する。また、外部記憶部12は、パケットデータベース(以下、パケットDBとする)130と、優先度データベース(以下、優先度DBとする)140と、を備え、さらに動画コンテンツにおけるEPG(Electronic Program Guide)等を記憶する領域も備える。
【0027】
パケットDB130は、データ送信サーバ2から分割パケットを受信した場合、そのパケットを記憶するデータベースであり、データの再構築処理もパケットDB130を参照して行われる。
【0028】
優先度DB140は、パケットの優先度情報を記憶するデータベースであり、優先度の値(高、中、低等)と、その優先度に従った動作(処理、廃棄、滞留等)が記憶されている。
【0029】
制御部13は、CPU(Central Processing Unit)等から構成され、外部記憶部12に記憶されているプログラム16に従って、後述するパケット処理及び優先度処理を実行する。制御部13は、プログラム16により提供される主要な機能として、パケット処理部110と、優先度処理部120と、を備える。パケット処理部110は、ヘッダ処理部111と、パケット再構築部112と、を備え、優先度処理部120は、蓄積率測定部121と、優先度取得部122と、を備える。
【0030】
ヘッダ処理部111は、上述の放送波受信処理や、受信したパケットの復号化、ヘッダ情報の解析、ヘッダの取り外し等の処理を行い、さらにタイマ機能を備える。また、ヘッダ処理部111は、受信したパケットが分割パケットであるか否かも判別し、分割パケットの場合、そのパケットを、パケットの識別子毎にパケットDB130に記憶する。なお、識別子とは、分割元データ毎に付与されている識別子であり、分割元データを特定することができ、例えば、分割元のファイル名等である。
【0031】
パケット再構築部112は、分割パケットを基に分割元データを再構築する。また、このとき、パケット再構築部112は、優先度DB140に記憶されているパケットの優先度を参照し、該当する優先度がある場合は、その優先度に従って分割パケットを処理する。
【0032】
蓄積率測定部121は、パケットDB130に記憶されている受信済みパケットを参照し、分割元データサイズに対する受信済みデータサイズの割合を求める。また、受信済みパケットの単位時間当たりの蓄積量(size/sec等)も求める。単位時間当たりの蓄積量は、すなわち、識別子毎の転送速度(bit per second等)を表している。
【0033】
優先度取得部122は、蓄積率測定部121が求めた値を基に、識別子毎に、パケットの優先度を求め、求めた優先度を優先度DB140に記憶する。優先度は、蓄積率測定部121が求めた値から求められるが、これに限られない。例えば、予めユーザによって優先度の高い識別子を設定させても良く、ユーザが使用しているパケット(例えば、視聴中の動画コンテンツのパケット等)の優先度を高くしても良い。この優先度は、優先度DB140に記憶される。
【0034】
表示部14は、LCD(Liquid Crystal Display)または有機EL(Electro Luminescence)等から構成されている。表示部14は、各データや情報を表示する。
【0035】
操作部15は、キーボードやマウス、操作キーやタッチパネルなどの入力デバイス等と、入力デバイス等を内部バス19に接続するインタフェース装置から構成されている。操作部15は、ユーザの指示を入力させる機能を備える。
【0036】
以上が、データ受信装置1の構成である。
【0037】
続いて、データ受信装置1の動作について、図3乃至5に示すフローチャートを用いて説明する。データ受信装置1では、プログラム16が提供するパケット処理部110と優先度処理部120が動作する。なお、パケット処理部110と、優先度処理部120は、並行に動作する。
【0038】
パケット処理部110は、送受信部10が制御部13にパケットデータを供給すると、図3に示すパケット処理部110の処理を開始する。
【0039】
ヘッダ処理部111は、パケット受信処理を実施する(S100)。パケット受信処理は、例えば、上述した放送波受信処理の(1)〜(3)や、受信パケットのCRC(Cyclic Redundancy Check)の判別や、暗号化パケットの復号化処理、パケットの整合性の判別処理等である。
【0040】
次にヘッダ処理部111は、ヘッダ解析処理を実行する(S101)。ヘッダ解析処理は、パケットに付与されている各ヘッダ情報を抽出する。例えば、FLUTE、UDP、TCP(Transmission Control Protocol)、ULE(Unidirection Lightweight Encapsulation)ヘッダ等の解析を実行する。ここでFLUTEパケットを受信した場合、ヘッダ処理部111は、FLUTEパケットのヘッダ情報を基にTOIが0であるパケットを判別し、FDTを取得する。
【0041】
さらに、ヘッダ処理部111は、受信したパケットが分割パケットか否かを判別し(S102)、分割パケットである場合は、分割パケットの識別子毎に分類してパケットDB130に分割パケットを記憶する(S104)。このとき、ヘッダ処理部111は、そのパケットを受信した時刻も同時にパケットDB130に記憶する。
【0042】
なお、分割パケットであるか否かの判別方法は任意であり、例えば、受信パケットのIPヘッダのフィールドを基に判別しても良く、FDTを基に判別しても良い。
【0043】
受信したパケットが分割パケットではない場合、ヘッダ処理部111は、非分割パケット処理を実行する(S103)。非分割パケット処理は、データ受信装置1で起動しているアプリケーションにパケットを送る処理や、受信したパケットを中継する処理等を実行する。
【0044】
パケット再構築部112は、ヘッダ処理部111によって分割パケットがパケットDB130に記憶されると、優先度DB140を参照し、受信した分割パケットに該当する優先度があるか否かを判別する(S105)。該当する優先度がある場合は、その優先度を特定し(S106)、優先度を基にパケットを処理するか否かを判別する(S107)。該当する優先度が無い場合、または優先度を基にパケットを処理すると判別した場合、受信済みパケットを参照し、分割元データサイズを取得する(S108)。
【0045】
なお、優先度に従ってパケットを処理しないと判別した場合、パケット再構築部112は、受信パケットをそのまま廃棄し(S111)、処理を終了する。
【0046】
優先度に従った受信パケットの判別は、優先度DB140に記憶されている定義に従う。この定義は、識別子別の優先度と、優先度別の動作により構成される。優先度別の動作とは、例えば、「優先度高は全て受信する」や、「優先度中は50%のパケットを受信する」や、「優先度低は全てのパケットを廃棄」等であるが、これに限られず、パケットを滞留させても良く、後述する蓄積量や単位時間蓄積量に従って動作を定義しても良い。なお、本実施形態では、理解を容易にするため、定義する優先度は高、中、低、の3段階とする。
【0047】
また、優先度に従って受信パケットを廃棄した場合でも、ファイル形式のコンテンツを放送波で受信する場合、上述の通りパケットはカルーセル方式で送信されるため、所定の時間内であれば廃棄したパケットを再度受信することが可能である。すなわち、所定の割合の受信パケットの廃棄は、再構築の完了時間を遅らせることを意味する。
【0048】
また、分割元データサイズの求め方は任意であり、例えば、FDTのContent−Lengthから求めることができる。
【0049】
次に、パケット再構築部112は、分割パケットのデータを再構築し(S109)、データの再構築が完了したか否かを判別する(S110)。この判別は、分割元データサイズと受信済みデータサイズを比較することで判別するが、これに限られず、受信した分割パケット数や、最後の分割パケットを受信したか否かで判別しても良い。また、データの再構築方法は任意であり、例えば、IPヘッダを基に再構築しても良く、FDTを基にFECで補完しながら再構築しても良い。
【0050】
パケット再構築部112は、データの再構築が未完了の場合、パケット処理を終了し、データの再構築が完了した場合、再構築が完了したデータを処理し(S103)、パケット処理を終了する。
【0051】
次に、優先度処理部120は、パケット処理部110が分割パケットをパケットDB130に記憶すると、図4に示す優先度処理部120の処理を開始する。
【0052】
蓄積率測定部121は、パケットDB130を参照し、分割元データサイズを取得する(S200)。パケットDB130には、現在再構築をしている全識別子のパケットのデータが記憶されているため、全識別子の分割元データサイズを取得する。
【0053】
次に、蓄積率測定部121は、受信済みデータサイズを、パケットDB130を参照して取得する(S201)。
【0054】
次に、蓄積率測定部121は、蓄積率を求める(S202)。ここで、蓄積率とは、分割元データサイズに対する受信済みデータサイズの割合のことである。すなわち、「分割元データサイズ÷受信済みデータサイズ」の計算結果を求める。
【0055】
次に、蓄積率測定部121は、単位時間当たりの蓄積量(size/time)を求める(S203)。これは、「受信済みデータサイズ÷経過時間」によって計算される。経過時間は、パケットDB130に記憶されている受信時刻に基づいて求めることができ、単位時間は、任意に決めることができる。例えば、ミリ秒でも良く、マイクロ秒でも良い。
【0056】
蓄積率測定部121がこれら二つの値を求めると、優先度取得部122は、優先度取得処理を実行し(S204)、優先度処理を終了する。
【0057】
優先度取得部122における優先度取得処理は、図5に示すように、複数の識別子のデータを再構築中か否かを判別する(S300)。分割パケットは識別子毎に分類されてパケットDB130に記憶されているため、この判別は、パケットDB130を参照することで可能となる。
【0058】
一つの識別子のデータを再構築している場合(複数ではない)、優先度取得部122は、優先度取得処理を終了する。複数の識別子のデータを再構築している場合、優先度取得部122は、識別子毎の蓄積に必要な時間、すなわち、再構築に必要な全ての分割パケットの受信に必要な時間を求める(S301)。この時間は、「未受信データサイズ÷単位時間蓄積量」によって求められる。
【0059】
次に、優先度取得部122は、識別子毎の再構築完了予想時刻を求める(S302)。これは、現在時刻にステップS301で求めた蓄積に必要な時間を加算することで求めることができる。
【0060】
次に、優先度取得部122は、識別子毎に単位時間蓄積量が閾値を超えているか否かを判別する(S303)。ここで、単位時間蓄積量の閾値は、任意に定義することができ、予め記憶部に記憶させても良く、ハードコーディングしても良い。
【0061】
単位時間蓄積量は、パケット転送速度を表しているため、ここでの処理は、
パケット転送速度が一定速度以下の場合、なんらかの通信トラブルが発生した可能性等を考慮している。
【0062】
単位時間蓄積量が閾値を超えていない場合、優先度取得部122は、該当する識別子の優先度を最も低くして優先度DB140に記憶し(S304)。また、該当識別子の受信を中断する旨を表示部14に通知することでユーザに知らせ(S305)、優先度取得処理を終了する。単位時間蓄積量が閾値を超えている場合、優先度取得部122は、該当する識別子が複数あるか否かを判別する(S306)。
【0063】
該当する識別子が一つだけの場合、優先度取得部122は、その識別子の優先度を最も高くして優先度DB140に記憶し(S307)、優先度取得処理を終了する。該当する識別子が複数ある場合、優先度取得部122は、予め設定された優先度の高い識別子があるか否かを判別する(S308)。
【0064】
予め設定された優先度の高い識別子がない場合、優先度取得部122は、該当する各識別子の再構築完了予想時刻を判別し、最も再構築完了予想時刻が早い識別子の優先度を最も高くして優先度DB140に記憶し(S309)、優先度取得処理を終了する。予め設定された優先度の高い識別子がある場合、優先度取得部122は、該当する識別子が複数存在するか否か判別する(S310)。
【0065】
該当する識別子が一つだけの場合、優先度取得部122は、その識別子の優先度を最も高くして優先度DB140に記憶し(S311)、優先度取得処理を終了する。該当する識別子が複数ある場合、優先度取得部122は、再構築完了予想時刻が最も遅い識別子の優先度を最も高くして優先度DB140に記憶し(S312)、優先度取得処理を終了する。
【0066】
なお、データ受信装置1は、優先度取得部122が求めた優先度以外でも、予め優先度DB140に優先度を記憶しておくことができる。
【0067】
また、優先度処理は、予め設定されたタイマが満了したことに起因して、処理を開始しても良い。
【0068】
以上説明したように、本実施形態に係る優先度処理が実行されると、優先度処理部120は、データの再構築状態に従って、識別子毎に優先度を付与する。これにより、パケット処理部110は、優先度の高いパケットの処理に専念することができ、データの再構築に係る処理の負荷を軽減することができる。
【0069】
続いて、理解を容易にするために、データ受信装置1の具体的な動作を、説明する。以下の具体例では、データ受信装置1を携帯電話に搭載し、ユーザが動画コンテンツを視聴している際の動作について説明する。
【0070】
外部記憶部12は、図6に示すように、EPG(番組表データ)と、分割パケットを記憶している。EPGは、競馬場の映像コンテンツに係る番組表であり、予め外部記憶部12に記憶されている。データ受信装置1は、3セッション分の放送波を受信し、パケットを抽出してデータを再構築している。また、点線で示しているのは、現在時刻である。この場合、現在時刻は10時37分である。
【0071】
また、EPGにおけるハッチング部分は、現在データ受信装置1が受信しているコンテンツであり、パケットDB130におけるハッチング部分は、受信済みパケットであり、空白部分は未受信パケットである。
【0072】
なお、セッション毎に送信されるパケットの識別子は、上述のFDTから求めることができる。
【0073】
蓄積率測定部121は、パケットDB130を参照し、分割元データサイズを取得する。図6を参照すると、セッション1、2、3全ての分割元データサイズは、15Mbyteとなる。
【0074】
次に、蓄積率測定部121は、受信済みデータサイズを取得する。図6を参照すると、セッション1の受信済みデータサイズは、10Mbyte、セッション2の受信済みデータサイズは、5Mbyte、セッション3の受信済みデータサイズは、10Mbyte、となる。
【0075】
次に、蓄積率測定部121は、蓄積率を求める。この計算は、「受信済みデータサイズ÷分割元データサイズ」によって行われる。例えば、セッション1の場合、受信済みデータサイズは10Mbyteであり、分割元データサイズが15Mbyteであることから、蓄積率は2/3、すなわち、約67%となる。
【0076】
次に、蓄積率測定部121は、単位時間当たりの蓄積量を求める。この計算は、各セッションのコンテンツを受信している時間、すなわち、再構築処理を行っている時間を基に計算する。例えば、セッション1の場合、受信済みデータサイズは10Mbyteであり、経過時間が17分(10時37分−10時20分)であることから、単位時間蓄積量は、約0.59Mbyte/minとなる。
【0077】
上述の通り各値を求めた場合、蓄積率測定部121は、図6(a)に示す値を求めることになる。なお、単位時間蓄積量の単位は、「Mbyte/分」である。この単位は、分単位に限られず、秒単位でも良く、ミリ秒、マイクロ秒単位でも良い。また、サイズの単位に関しても、Mbyte単位に限られず、Kbyte単位でも良く、byte単位、bit単位でも良い。
【0078】
次に、優先度取得部122は、複数の識別子のパケットを再構築中か否かを判別する。図6に示す通り、データ受信装置1は複数のセッションのコンテンツを受信・再構築しているため、優先度取得部122は、複数の識別子のパケットを再構築していると判別する。
【0079】
次に、優先度取得部122は、識別子毎に蓄積に必要な時間、すなわち、再構築が完了する予想残り時間を求める。この計算は、「未受信データサイズ÷単位時間蓄積量」によって行われる。例えば、セッション1の場合、未受信データサイズは5Mbyteであり、単位時間蓄積量は0.59Mbyte/minであるから、残り時間は、約8.5分と求められる。
【0080】
次に、優先度取得部122は、識別子毎の再構築完了予想時刻を求める。この計算は、「現在の時刻+予想残り時間」によって行われる。例えば、セッション1の場合、現在の時刻が10時37分であり、予想残り時間が約8.5分であることから、再構築完了予想時刻は、おおよそ10:46分となる。
【0081】
上述の通り各値を求めると、優先度取得部122は、図6(b)に示す値を求めることとなる。
【0082】
次に、優先度取得部122は、識別子毎の単位時間蓄積量が閾値を超えているか否かを判別する。閾値が0.6Mbyte/minと予め定義されている場合、セッション1のコンテンツは閾値以下、セッション2及び3のコンテンツは閾値以上と求められる。
【0083】
セッション1は閾値を下回っているため、優先度取得部122は、セッション1のコンテンツのパケットについては、以降受信しないような、最も低い優先度を優先度DB140に格納する。さらに、表示部14に受信中断通知を送信し、ユーザにセッション1のコンテンツの受信を中止した旨を通知する。
【0084】
次に、優先度取得部122は、閾値を超えている識別子が複数あるか否かを判別する。閾値を超えているコンテンツは、セッション2、3のコンテンツの二つであるため、次に優先度取得部122は、優先度が高い識別子があるか否かを判別する。
【0085】
ここで、優先度DB140に優先度が予め設定されていない場合と、予め設定されている場合の複数のパターンについて説明する。
【0086】
初めに、図6(c)に示すように、予め優先度DB140に優先度が設定されていない場合、優先度取得部122は、再構築完了予想時刻が最も早いコンテンツの優先度を、最も高くして優先度DB140に記憶する。
【0087】
すなわち、セッション3のコンテンツの再構築完了予想時刻が最も早いため、優先度取得部122は、セッション3のコンテンツの優先度を最も高くし、セッション2のコンテンツの優先度については通常の優先度にし、これらの優先度を優先度DB140に記憶する。上述のように優先度取得部122が優先度を求めた場合、優先度DB140に記憶される優先度は、図6(c’)に示すようになる。
【0088】
このように優先度取得部122が優先度DB140にセッション3のコンテンツの優先度を高水準で記憶させることで、パケット再構築部112は、セッション3のコンテンツのパケットを優先的に再構築することができる。
【0089】
なお、この場合のセッション2のコンテンツの優先度については、通常の優先度である必要は無く、例えば、最も低い優先度にし、セッション3のコンテンツのデータ再構築に専念させても良い。
【0090】
次に、図6(d)に示すように、予め「本馬場入場」のコンテンツの優先度が設定されている場合、優先度取得部122は、該当するコンテンツが複数あるか否かを判別し、該当するコンテンツが一つのみの場合、そのコンテンツの優先度を最も高くし、優先度DB140に記憶する。
【0091】
すなわち、セッション2のコンテンツのみが「本馬場入場」に該当するため、優先度取得部122は、セッション2のコンテンツの優先度を最も高くして優先度DB140に記憶し、セッション3のコンテンツの優先度は、通常の優先度で優先度DB140に記憶する。上述のように優先度取得部122が優先度を求めた場合、優先度DB140に記憶される優先度は、図6(d’)に示すようになる。
【0092】
このように優先度取得部122が優先度DB140にセッション2のコンテンツの優先度を高水準で記憶させることで、パケット再構築部112は、セッション2のコンテンツのパケットを優先的に再構築することができる。
【0093】
なお、この場合のセッション3のコンテンツの優先度については、通常の優先度である必要は無く、例えば、最も低い優先度にし、セッション3のコンテンツのデータ再構築に専念させても良い。
【0094】
次に、図6(e)に示すように、予め「ユーザ視聴中」、「馬券発売締切り付近」のコンテンツの優先度が設定されている場合について説明する。
【0095】
まず、優先度取得部122は、ユーザがセッション2のコンテンツを視聴している場合、そのコンテンツの優先度を最も高くして優先度DB140に記憶し、セッション3のコンテンツを視聴している場合、そのコンテンツの優先度を最も高くして優先度DB140に記憶する。
【0096】
しかしながら、ユーザがセッション1のコンテンツ、若しくはセッション2、3のどちらのコンテンツも視聴していない場合、優先度取得部122は、馬券発売締切りが近いコンテンツを判別する。
【0097】
この場合、セッション2、3どちらのコンテンツも該当するため、優先度取得部122は、再構築完了予想時刻が最も遅いコンテンツの優先度を、最も高くして優先度DB140に記憶する。
【0098】
すなわち、セッション2のコンテンツの再構築完了予想時刻の方が遅いため、優先度取得部122は、セッション2のコンテンツの優先度を最も高くして優先度DB140に記憶する。上述のように優先度取得部122が優先度を求めた場合、優先度DB140に記憶される優先度は、図6(e’)に示すようになる。
【0099】
このように優先度取得部122が優先度DB140にセッション2のコンテンツの優先度を高水準で記憶させることで、パケット再構築部112は、セッション2のコンテンツのパケットを優先的に再構築することができる。
【0100】
なお、この場合のセッション3のコンテンツの優先度については、通常の優先度である必要は無く、例えば、最も低い優先度にし、セッション3のコンテンツのデータ再構築に専念させても良い。
【0101】
以上説明したように、本実施形態に係るデータ受信装置1が携帯電話に搭載され、複数の動画コンテンツを同時に受信している場合でも、コンテンツ毎に優先度を付与することができ、この優先度に従ってデータを再構築することで、負荷を軽減し、さらに電池消費量も軽減することができる。
【0102】
また、本実施形態に係るデータ受信装置1は、予め優先度を上げたいコンテンツを設定することができるため、ユーザが視聴したいコンテンツを優先的に受信することができる。従って、ユーザが意図したコンテンツを優先的に受信し、ユーザのストレスを軽減することができる。
【0103】
[変形例]
本発明は、上記実施形態に限定されず、種々の変形例及び応用が可能である。上記実施形態では、携帯電話を搭載した例によって説明したが、これに限られず、PDA(Personal Digital Assistant)、パーソナルコンピュータ、ゲーム機、ノート型パーソナルコンピュータ等の各種の携帯端末装置や、ルータ、ゲートウェイ等の各種のネットワーク装置にも適用することができる。
【0104】
また、本実施形態では、ファイル形式のコンテンツを放送波で送受信する場合の具体的な動作について説明したが、これに限られず、ネットワーク上でパケットの送受信を行うデータ受信装置等でも、本発明を適用することができる。当然、データの再構築機能を搭載している装置に対しても、本発明を適用することができる。
【0105】
また、本実施形態では、放送波を受信するアンテナを備える送受信部10から構成されるデータ受信装置1について説明したが、これに限られない。例えば、データ受信装置1とデータ送信サーバがネットワークを介して接続している場合、送受信部10は、ネットワークに接続する網終端装置または無線通信装置と、それらと接続するシリアルインタフェースまたはLAN(Local Area Network)インタフェースから構成されていても良い。また、送受信部10は、ネットワークを介して、データ送信サーバ2からパケットを受信し、制御部13に受信したパケットを供給しても良い。
【0106】
また、本実施形態では、受信済みデータサイズ、分割元データサイズ及び再構築に係る時間を基に優先度を求めたが、これに限られず、例えば、送信元、宛先IP(Internet Protocol)アドレス、送信元、宛先ポート番号等から優先度を求めても良い。
【0107】
また、本実施形態では、優先度に従った処理は予め決められていたが、これに限られず、例えば、「蓄積率が75%以上の場合はパケットを75%受信」等のように、蓄積率や、その他求めた値に従って動作を定義しても良い。
【0108】
また、本実施形態では、予め優先度を上げたいコンテンツを設定することができるが、これに限られず、例えば、予め優先度を下げたいコンテンツや、いかなる状況でも優先度を変更しないコンテンツ等も設定することができる。
【0109】
また、本実施形態では、複数の識別子のパケットを再構築している場合に優先度を求めて負荷を軽減させたが、これに限られず、単一の識別子を再構築している場合でも優先度を求めて負荷を軽減させても良い。
【0110】
また、本実施形態では、単位時間蓄積量が閾値を下回るコンテンツを最も低い優先度とし、配信終了時間が短いコンテンツ、再構築完了予想時刻が遅いコンテンツ、予め設定されたコンテンツを最も高い優先度としたが、これに限らず、極端に最も高くなくても良く、最も低くなくても良い。例えば、優先度を10段階に分け、低水準の優先度(1〜5)、高水準の優先度(6〜10)から選択しても良い。
【0111】
また、本実施形態に係るデータ受信装置1は、専用のシステムによらず、通常のコンピュータシステムを用いて実現可能である。たとえば、前記の動作を実行するためのプログラム16を、コンピュータが読み取り可能な記録媒体(フレキシブルディスク、CD−ROM、DVD−ROM等)に格納して配布し、このプログラム16をコンピュータにインストールすることにより、上述の処理を実行するデータ受信装置1を構成してもよい。また、インターネット等の通信ネットワーク上のサーバ装置が有する記憶装置にこのプログラム16を格納しておき、通常のコンピュータシステムがダウンロード等することでデータ受信装置1を構成してもよい。
【0112】
また、データ受信装置1の機能を、OS(オペレーティングシステム)とアプリケーションプログラムの分担、またはOSとアプリケーションプログラムとの協働により実現する場合などには、アプリケーションプログラム部分のみを記録媒体や記憶装置に格納してもよい。
【0113】
また、搬送波にプログラム16を重畳し、通信ネットワークを介して配信することも可能である。たとえば、通信ネットワーク上の掲示板(BBS:Bulletin Board System)にこのプログラム16を掲示し、ネットワークを介してプログラム16を配信してもよい。そして、このプログラム16を起動し、OSの制御下で、他のアプリケーションプログラムと同様に実行することにより、上記の処理を実行できるように構成してもよい。
【符号の説明】
【0114】
1 データ受信装置
2 データ送信サーバ
10 送受信部
11 主記憶部
12 外部記憶部
13 制御部
14 表示部
15 操作部
16 プログラム
19 内部バス
110 パケット処理部
111 ヘッダ処理部
112 パケット再構築部
120 優先度処理部
121 蓄積率測定部
122 優先度取得部
130 パケットデータベース
140 優先度データベース

【特許請求の範囲】
【請求項1】
データ送信装置から送信されたパケットを受信するパケット受信手段と、
前記パケット受信手段が受信した前記パケットが分割されていた場合に、該パケットの分割元のデータを識別する識別子毎に該パケットを記憶する分割パケット記憶手段と、
前記分割パケット記憶手段によって記憶された前記パケットを基に前記識別子毎の処理優先度を求める優先度取得手段と、
前記優先度取得手段が求めた前記処理優先度を記憶する優先度記憶手段と、
前記優先度記憶手段に記憶された前記処理優先度に従って、前記分割パケット記憶手段に記憶された前記パケットを再構築するか否かを判別するパケット再構築手段と、を備える、
ことを特徴とするデータ受信装置。
【請求項2】
前記優先度取得手段は、
単位時間当たりに前記分割パケット記憶手段に記憶された前記パケットのサイズを求める単位時間サイズ取得手段と、
前記識別子毎に前記パケット再構築手段が前記分割パケット記憶手段に記憶された前記パケットの再構築が完了する予定時刻を求める予定時刻取得手段と、を備え、
前記単位時間サイズ取得手段が求めた前記サイズと、前記予定時刻取得手段が求めた前記予定時刻を基に前記処理優先度を求める、
ことを特徴とする請求項1に記載のデータ受信装置。
【請求項3】
前記分割パケット記憶手段が複数の前記識別子の前記パケットを記憶している場合、
前記優先度取得手段は、
前記識別子毎に、前記単位時間サイズ取得手段が求めたサイズが所定の閾値を超えているか否かを判別し、前記所定の閾値を超えていない場合、該識別子の前記処理優先度を低水準とし、
前記所定の閾値を超えている該識別子が複数ある場合、前記予定時刻取得手段が求めた前記予定時刻が最も遅い前記識別子を求め、該識別子の前記処理優先度を高水準とする、
ことを特徴とする請求項2に記載のデータ受信装置。
【請求項4】
前記優先度記憶手段は、予め前記識別子毎の初期優先度を記憶し、
前記パケット再構築手段は、前記識別子に該当する前記優先度記憶手段に記憶される前記初期優先度を求め、該初期優先度に従って前記分割パケット記憶手段に記憶された前記パケットを再構築するか否かを判別する、
ことを特徴とする請求項1乃至3のいずれか1項に記載のデータ受信装置。
【請求項5】
データ送信装置からパケットを受信するデータ受信装置で実行されるデータ受信方法であって、
データ送信装置から送信されたパケットを受信するパケット受信ステップと、
前記パケット受信ステップが受信した前記パケットが分割されていた場合に、該パケットの分割元のデータを識別する識別子毎に該パケットを記憶する分割パケット記憶ステップと、
前記分割パケット記憶ステップによって記憶された前記パケットを基に前記識別子毎の処理優先度を求める優先度取得ステップと、
前記優先度取得ステップが求めた前記処理優先度を記憶する優先度記憶ステップと、
前記優先度記憶ステップに記憶された前記処理優先度に従って、前記分割パケット記憶ステップに記憶された前記パケットを再構築するか否かを判別するパケット再構築ステップと、を備える、
ことを特徴とするデータ受信方法。
【請求項6】
コンピュータを、
データ送信装置から送信されたパケットを受信するパケット受信手段、
前記パケット受信手段が受信した前記パケットが分割されていた場合に、該パケットの分割元のデータを識別する識別子毎に該パケットを記憶する分割パケット記憶手段、
前記分割パケット記憶手段によって記憶された前記パケットを基に前記識別子毎の処理優先度を求める優先度取得手段、
前記優先度取得手段が求めた前記処理優先度を記憶する優先度記憶手段、
前記優先度記憶手段に記憶された前記処理優先度に従って、前記分割パケット記憶手段に記憶された前記パケットを再構築するか否かを判別するパケット再構築手段、として機能させる、
ことを特徴とするデータ受信プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2012−105157(P2012−105157A)
【公開日】平成24年5月31日(2012.5.31)
【国際特許分類】
【出願番号】特願2010−253206(P2010−253206)
【出願日】平成22年11月11日(2010.11.11)
【出願人】(000102728)株式会社エヌ・ティ・ティ・データ (438)
【Fターム(参考)】