以下、本発明の実施形態について図面を参照して詳細に説明する。図1は、本実施形態に係るデジタル放送受信装置10の機能を説明する図である。デジタル放送受信装置10は、放送局に設置された送信装置によりデータカルーセル方式を用いて送信されるコンテンツの受信を行うものである。例えば、このデジタル放送受信装置10は、ISDB−Tsb(Integrated Services Digital Broadcasting‐Terrestrial for Sound Broadcasting)方式のVHF(Very High Frequency)−Low帯を利用したマルチメディア放送を受信する。
図1に示すように、このデジタル放送受信装置10は、放送波受信用アンテナ11、チューナー12、マルチメディアデコーダ13、表示制御部14、音声出力制御部15、放送受信制御部16、記憶部17、タイマ18、キー入力部19、表示部20、携帯電話通信用アンテナ21、無線部22、通信機能制御部23、音声復号部24、音声符号化部25、スピーカ26、マイク27、視聴判定部28を備える。
放送受信用アンテナ11は、ISDB−Tsb(Integrated Services Digital Broadcasting‐Terrestrial for Sound Broadcasting)方式などにより送信される放送波を受信する。チューナー12は、ダウンロード対象となるデータを含むトランスポートストリーム(Transport Stream)が送信されている周波数の放送波を復調し、復調して得たTS(Transport Stream)パケットをマルチメディアデコーダ13に出力する。ここで、ダウンロード対象となるデータを含むトランスポートストリームはユーザにより選択され、そのトランスポートストリームが送信されている周波数は、放送局から送信されるNIT(Network Information Table)に基づいてチューナー12により選択される。
マルチメディアデコーダ13は、チューナー12から取得したTSパケットをデコードし、TSパケットに映像データあるいは音声データが含まれているか否かを判定する。TSパケットに映像データが含まれていると判定した場合、マルチメディアデコーダ13は、TSパケットから映像データを取得し、取得した映像データを表示制御部14に出力する。TSパケットに音声データが含まれていると判定した場合、マルチメディアデコーダ13は、TSパケットから音声データを取得し、取得した音声データを音声出力制御部15に出力する。
また、マルチメディアデコーダ13は、TSパケットに含まれるPAT(Program Association Table)を放送受信制御部16に出力する。さらに、マルチメディアデコーダ13は、ダウンロード対象とするデータのダウンロードサービスに対応するPMT(Program Map Table)のPID(Packet ID)が放送受信制御部16から通知された場合に、そのPIDに対応するTSパケットに含まれるPMTを放送受信制御部16に送信する。
表示制御部14は、放送受信制御部16による制御の下、マルチメディアデコーダ13により出力された映像データの表示部20による表示を制御する。音声出力制御部15は、放送受信制御部16による制御の下、マルチメディアデコーダ13により出力された音声データのスピーカ26による音声出力を制御する。
放送受信制御部16は、放送受信処理全体を制御する。例えば、放送受信制御部16は、受信したトランスポートストリームの中からダウンロード対象とするデータを取得する処理を行う。具体的には、放送受信制御部16は、キー入力部19がユーザからデータのダウンロード要求を受け付けた場合、あるいは、予めユーザにより予約されたダウンロード開始時刻になった場合に、チューナー12とマルチメディアデコーダ13とを起動する。そして、放送受信制御部16は、ダウンロード対象であるデータを含むトランスポートストリームのTSパケットを識別するため、TSパケットに含まれるPATを放送受信制御部16に出力するようTSパケットの受信開始時にマルチメディアデコーダ13に対して指示をする。
その後、放送受信制御部16は、マルチメディアデコーダ13から出力されたPATを解析することにより、データカルーセル方式によるデータのダウンロードサービスに対応するPMTのPIDを特定する。そして、放送受信制御部16は、そのPIDに対応するPMTを送信するようマルチメディアデコーダ13に対して指示をする。放送受信制御部16は、このPMTを用いてデータカルーセル方式により送信されたダウンロード対象となるデータを含んだTSパケットを取得する。
また、放送受信制御部16は、ダウンロード対象とするデータのデータブロックの取得に失敗した場合に、現在時刻の情報、データブロックを受信した受信時刻の情報、および、データブロックの取得が正常に完了したか否かを示す情報に基づいて、正常取得に失敗したデータブロックを受信するための受信タイミングを算出する。そして、放送受信制御部16は、その受信タイミングに基づいて、すでに受信したデータブロックの受信処理を行うことなく、正常取得に失敗したデータブロックの受信を開始する選択受信制御を行う。受信タイミングの具体的な算出方法については後に詳しく説明する。
記憶部17は、メモリやハードディスク装置などの記憶手段である。この記憶部17は、放送受信制御部16などの各機能部により用いられ、時刻情報やダウンロードしたデータなど、種々の情報を記憶する。特に、記憶部17は、データカルーセル方式により送信されるデータブロック名の情報、データブロックの最初および最後のTSパケットを受信した受信時刻の情報、および、データブロックの取得が正常に完了したか否かの情報などを記憶する。これらの情報については後に詳しく説明する。
タイマ18は、時刻を計測する。キー入力部19は、ユーザによるキー入力を受け付ける。表示部20は、液晶ディスプレイなどの表示手段であり、映像やユーザに提供する情報などの表示を行う。
携帯電話通信用アンテナ21は、デジタル放送受信装置10が電話機能や電子メール機能を有する携帯電話機として機能する場合の通信用電波の送受信を行う。無線部22は、デジタル放送受信装置10が携帯電話機として機能する場合の通信用電波の変調、復調を行う。
通信機能制御部23は、電話機能や電子メール機能などを含む携帯電話の通信機能を制御する。例えば、通信機能制御部23は、無線部22により復調された符号化音声信号を音声復号部24に出力し、また、音声符号化部25により符号化された音声信号を無線部22に出力するなどの制御を行う。
音声復号部24は、符号化された音声信号を復号し、音声信号をスピーカ26に出力する。音声符号化部25は、通話時にマイク27により入力された音声信号を符号化する。スピーカ26は、通話時の音声信号を出力する。また、スピーカ26は、マルチメディアデコーダ13により出力された音声信号を出力する処理を行う。マイク27は、通話時にユーザの音声を音声信号に変換する。
視聴判定部28は、ユーザが映像の視認、音声の聴取を行っているか否かの判定を行う。具体的には、視聴判定部28は、内蔵する人感センサを用いて人がいるか否かを検知し、人がいると検知した場合にユーザが映像の視認あるいは音声の聴取を行っていると判定する。
また、視聴判定部28は、内蔵する加速度センサなどを用いてデジタル放送受信装置10の移動を検出し、デジタル放送受信装置10が一定時間静止した場合にユーザが映像の視認あるいは音声の聴取を行っていると判定することとしてもよい。さらに、映像の視認や音声の聴取時にデジタル放送受信装置10の形状が変化する場合は、視聴判定部28はその変化を検出することにより、ユーザが映像の視認あるいは音声の聴取を行っていると判定することとしてもよい。例えば、デジタル放送受信装置10が折り畳み式であって、ボディの折り畳み時に表示部20の表示面が隠れる場合、デジタル放送受信装置10のボディが折り畳まれていないことを検出することにより、ユーザが映像の視認あるいは音声の聴取を行っていると判定することとしてもよい。
次に、データカルーセル方式により送信されるデータの受信処理について説明する。図2は、データ受信処理全体について説明するフローチャートである。図2に示すように、まず、デジタル放送受信装置10のチューナー12は、放送局がダウンロードの対象となるデータを含むトランスポートストリームを送信している周波数で放送波の受信を開始する(ステップS101)。ダウンロード対象となるデータを含むトランスポートストリームはユーザにより選択され、そのトランスポートストリームが送信されている周波数は、放送局から送信されるNITに基づいてチューナー12により選択される。
そして、チューナー12は、放送波を復調し、その結果得られたTSパケットをマルチメディアデコーダ13に出力する(ステップS102)。その後、マルチメディアデコーダ13は、TSパケットに含まれるPATを放送受信制御部16に出力し、放送受信制御部16はPATを取得する(ステップS103)。
その後、放送受信制御部16は、PATを解析し、データカルーセル方式によるダウンロード対象データのダウンロードサービスに対応するPMTのPIDを特定する(ステップS104)。そして、放送受信制御部16は、マルチメディアデコーダ13に対して、そのPIDに対応するPMTを放送受信制御部16に送信するよう指示する。この指示を受け付けたマルチメディアデコーダ13は、上記PIDに対応するPMTを放送受信制御部16に送信する。
放送受信制御部16は、そのPMTを用いてダウンロード対象となるデータを送信するTSパケットのPIDを特定し、そのPIDに対応するTSパケットを放送受信制御部16に出力するようマルチメディアデコーダ13に対して指示する。これにより、放送受信制御部16は、TSパケットの中からダウンロード対象とするデータを含んだTSパケットを抽出するフィルタリングを行う(ステップS105)。
続いて、放送受信制御部16は、ダウンロード対象とするデータを含んだTSパケットに映像データあるいは音声データが含まれるか否かを調べる(ステップS106)。TSパケットに映像データあるいは音声データが含まれるか否かは、PMTに含まれるES(Elementary Stream)種別の情報を調べることにより検出することができる。ダウンロード対象とするデータのTSパケットに映像データあるいは音声データが含まれる場合(ステップS106においてYESの場合)、視聴判定部28は、ユーザが映像の視認あるいは音声の聴取を行うか否かを判定する(ステップS107)。
ユーザが映像の視認あるいは音声の聴取を行うと判定された場合(ステップS107においてYESの場合)、放送受信制御部16は、データカルーセル方式により送信されたダウンロード対象のデータを受信し、受信したデータを記憶部17に記憶する(ステップS108)。ダウンロード対象のデータの受信が終了したら、チューナー12は放送波の受信処理を終了する(ステップS109)。
ダウンロード対象とするデータを含むTSパケットに映像データあるいは音声データが含まれない場合(ステップS106においてNOの場合)、あるいは、ユーザが映像の視認あるいは音声の聴取を行わないと判定された場合(ステップS107においてNOの場合)、放送受信制御部16は、データカルーセル方式により送信されたダウンロード対象データの選択受信処理を行い、受信したデータを記憶部17に記憶する(ステップS110)。
この選択受信処理では、放送受信制御部16は、正常取得に失敗したデータブロックを受信するための受信タイミングを算出し、その受信タイミングで、すでに正常取得したデータブロックの受信処理を行うことなく、正常取得に失敗したデータブロックの受信処理を開始する制御を行う。この選択受信処理については、図3を用いて詳しく説明する。ダウンロード対象のデータの受信が終了したら、チューナー12は放送波の受信処理を終了する(ステップS109)。
このように、放送受信制御部16が、放送データに映像データまたは音声データが含まれているか否かを判定し、放送データに映像データまたは音声データが含まれていないと判定した場合に選択受信制御を行うこととしたので、すでに正常取得したデータブロックの受信処理を行わないことによりデジタル放送受信装置10の電力消費を低減することができる。
また、視聴判定部28が、ユーザが映像の視認または音声の聴取を行っているか否かを判定し、ユーザが映像の視認または音声の聴取を行っていないと判定された場合に、放送受信制御部16が選択受信制御を行うこととしたので、すでに正常取得したデータブロックの受信処理を行わないことによりデジタル放送受信装置10の電力消費を低減することができる。
次に、図2に示したデータカルーセル選択受信処理について説明する。図3は、図2に示したデータカルーセル選択受信処理の詳細について説明するフローチャートである。図3に示すように、まず、デジタル放送受信装置10の放送受信制御部16は、データカルーセル方式により送信されたダウンロード対象のデータを含むTSパケットをマルチメディアデコーダ13から受信する(ステップS201)。
そして、放送受信制御部16は、TSパケットの受信時に受信エラーがあったか否かを判定する(ステップS202)。受信エラーがあった場合(ステップS202においてYESの場合)、放送受信制御部16は、次のTSパケットを受信する(ステップS201)。放送受信制御部16は、受信エラーがあったか否かをTSパケットのヘッダ部にあるエラーフラグを調べることにより判定することができる。受信エラーがなかった場合(ステップS202においてNOの場合)、放送受信制御部16は、受信したTSパケットが、ダウンロード対象とするデータのデータブロックの先頭部分を含む最初のTSパケットか否かを判定する(ステップS203)。
TSパケットがデータブロックの先頭部分を含む最初のTSパケットである場合(ステップS203においてYESの場合)、放送受信制御部16は、そのTSパケットの受信時刻の情報をタイマ18から取得し、取得した時刻を記憶部17に記憶する(ステップS204)。TSパケットがデータブロックの先頭部分を含む最初のTSパケットでない場合(ステップS203においてNOの場合)、あるいは、最初のTSパケットの受信時刻の情報を記憶部17に記憶した場合(ステップS204)、放送受信制御部16は、TSパケットに受信エラーが発生することなくデータブロックの取得が正常に完了したか否かを調べる(ステップS205)。
データブロックの取得が正常に完了していない場合(ステップS205においてNOの場合)、放送受信制御部16は、正常に取得ができなかったデータブロックが、過去に受信したことのある再受信したデータブロックか否かを判定する(ステップS208)。データブロックが再受信したデータブロックでない場合(ステップS208においてNOの場合)、放送受信制御部16は、次のTSパケットを受信する(ステップS201)。データブロックが再受信したデータブロックである場合(ステップS208においてYESの場合)、放送受信制御部16は、その後のデータブロックの受信を継続して行うか否かをさらに判定する(ステップS209)。
データブロックの取得が正常に完了した場合(ステップS205においてYESの場合)、放送受信制御部16は、データブロックの最後のTSパケットの受信時刻の情報をタイマ18から取得し、取得した時刻を記憶部17に記憶する(ステップS206)。
その後、放送受信制御部16は、ダウンロード対象とするデータのすべてのデータブロックのダウンロードが、TSパケットに受信エラーが発生することなく正常に完了したか否かを判定する(ステップS207)。すべてのデータブロックのダウンロードが正常に完了した場合(ステップS207においてYESの場合)、データカルーセル選択受信処理を終了する。すべてのデータブロックのダウンロードが正常に完了していない場合(ステップS207においてNOの場合)、放送受信制御部16は、正常取得が完了したデータブロック(ステップS205においてYESの場合に対応するデータブロック)が、過去に受信したことのある再受信したデータブロックか否かを判定する(ステップS208)。
正常取得が完了したデータブロックが、再受信したデータブロックでない場合(ステップS208においてNOの場合)、放送受信制御部16は、次のTSパケットを受信する(ステップS201)。正常取得が完了したデータブロックが、再受信したデータブロックである場合(ステップS208においてYESの場合)、放送受信制御部16は、データブロックの送信が一巡したと判定し、その後のデータブロックの受信を継続して行うか否かをさらに判定する(ステップS209)。また、放送受信制御部16は、取得が正常に完了しなかったデータブロック(ステップS205においてNOの場合に対応するデータブロック)が、過去に受信したことのある再受信したデータブロックであった場合(ステップS208においてYESの場合)にも、その後のデータブロックの受信を継続して行うか否かを判定する処理を行う(ステップS209)。
具体的には、放送受信制御部16は、現在の時刻、データブロックの先頭部分を構成するデータを含んだ最初のTSパケットの受信時刻、データブロックの最後の部分を構成するデータを含んだ最後のTSパケットの受信時刻、および、データブロックの取得が正常に完了したか否かを示す情報などを用いて受信を再開する時刻を算出する。そして、現在の時刻が受信を再開する時刻に達していない場合、放送受信制御部16は、データブロックの継続受信を行わないと判定する。現在の時刻が受信を再開する時刻に達している場合、放送受信制御部16は、データブロックの継続受信を行うと判定する。受信を再開する時刻の算出については図4、5を用いて後に詳しく説明する。
データブロックの継続受信を行うとの判定がなされた場合(ステップS209においてYESの場合)、放送受信制御部16は、ダウンロード対象のデータを含むトランスポートストリームを現在受信しているか否かを判定する(ステップS210)。ダウンロード対象のデータを含むトランスポートストリームを受信している場合(ステップS210においてYESの場合)、そのままTSパケットの受信を継続する(ステップS201)。
ダウンロード対象のデータを含むトランスポートストリームを受信していない場合(ステップS210においてNOの場合)、放送受信制御部16は、チューナー12に対してダウンロードの対象となるデータを含むトランスポートストリームが送信されている周波数の放送波を復調するよう指示し、そのトランスポートストリームの受信に切り替える(ステップS211)。その後、放送受信制御部16は、TSパケットの受信を継続する(ステップS201)。
取得が完了したデータブロック以降のデータブロックの受信を継続して行わないとの判定がなされた場合(ステップS209においてNOの場合)、放送受信制御部16は、TSパケットの受信処理を中断する(ステップS212)。そして、放送受信制御部16は、ダウンロード対象となるデータを含むトランスポートストリームの受信を他のトランスポートストリームの受信に切り替える要求をユーザから受け付けたか否かを判定する(ステップS213)。なお、他のトランスポートストリームの受信に切り替える要求をユーザから受け付ける際には、放送受信制御部16は、現在時刻がダウンロードの対象となるデータを含むトランスポートストリームの受信再開時刻に達した場合に、そのトランスポートストリームの受信に受信対象が切り替えられる旨の通知を表示部20に出力し、ユーザにその旨通知する。
他のトランスポートストリームに切り替える要求をユーザから受け付けた場合(ステップS213においてYESの場合)、放送受信制御部16は、チューナー12に対してユーザから受け付けた他のトランスポートストリームが送信されている周波数の放送波を復調するよう指示し、そのトランスポートストリームの受信に切り替える(ステップS214)。
このように、放送受信制御部16が、ダウンロード対象のデータを含むトランスポートストリームの受信処理中断中にトランスポートストリームを他のトランスポートストリームに切り替える要求をユーザから受け付けた場合、トランスポートストリームを他のトランスポートストリームに切り替える受信制御を行うこととしたので、データカルーセル方式によりデータブロックが再送される周期が長く、ダウンロード対象のデータを含むトランスポートストリームの受信中断期間が長い場合に、ユーザは別のトランスポートストリームにより送信される映像、音声を視聴できるようになり、ユーザの利便性を高めることができる。
また、切り替えた他のトランスポートストリームにおいても本発明の選択受信処理を適用してデータをダウンロードすることも可能である。これにより、複数のトランスポートストリームにおいてユーザの利便性の向上、デジタル放送受信装置10の省電力化を図りつつ、データの同時ダウンロードが可能になる。
他のトランスポートストリームの受信に切り替えた場合(ステップS214)、あるいは、他のトランスポートストリームに切り替える要求をユーザから受け付けていない場合(ステップS213においてNOの場合)は、放送受信制御部16は、TSパケットの受信再開時刻に達したか否かを判定する(ステップS215)。この受信再開時刻については図4、5を用いて後に詳しく説明する。
TSパケットの受信再開時刻に達していない場合(ステップS215においてNOの場合)、放送受信制御部16は、他のトランスポートストリームの受信に切り替える要求をユーザから受け付けたか否かを判定する処理を繰り返す(ステップS213)。TSパケットの受信再開時刻に達した場合(ステップS215においてYESの場合)、放送受信制御部16は、ダウンロード対象のデータを含むトランスポートストリームを現在受信しているか否かを判定し(ステップS210)、その後の処理を継続する。
ここで、トランスポートストリームの受信を再開する時刻の算出方法について例を挙げて説明する。図4は、TSパケットの受信状況の一例を示す図である。図4には、カルーセルデータ送信サイクル、TSパケット番号、TSパケット受信時刻、受信エラーの有無、データブロック名、パケット受信時に行われる処理について示されている。ここで、時刻「aa:bb:c」という表記は、aa分bb秒cという時刻を表す。
また、図5は、放送受信制御部16が生成する時刻記憶テーブル30の一例を示す図である。図5に示す時刻記憶テーブル30には、データブロック名、データブロックの最初のTSパケットの受信時刻、データブロックの最後のTSパケットの受信時刻、および、データブロックの取得状態の情報が含まれる。この時刻記憶テーブル30は、デジタル放送受信装置10の記憶部17に記憶される。
図4および図5に示されるように、カルーセルデータの送信サイクル1順目のデータブロックDIIについては、最初のTSパケットが時刻「02:00:0」にデジタル放送受信装置10により受信され、最後のTSパケットが時刻「02:00:4」に受信され、データブロックDIIを構成するデータを含む各TSパケットに受信エラーは無く、データブロックDIIの取得は正常に完了している。また、データブロックDDB1、DDB2についても同様にデータブロックの取得は正常に完了している。
一方、データブロックDDB0については、最初のTSパケットについては受信エラーがなく受信できているため、受信時刻「02:00:5」が時刻記憶テーブル30に記憶されている(図3のステップS204の処理に対応)。しかし、2〜4番目に受信したTSパケット(図4のNo.7〜9に対応するTSパケット)に受信エラーが発生したため、最後のTSパケットの受信時刻が記憶されておらず(図3のステップS205においてNOであるため、ステップS206の処理が実行されていない)、データブロックの取得状態も未取得となっている。
データブロックDDB3については、最初のTSパケットから3番目に受信したTSパケットまで(図4のNo.27〜29に対応するTSパケット)に受信エラーが発生したため、最初のTSパケットの受信時刻、最後のTSパケットの受信時刻が記憶されておらず(図3のステップS203においてNOであるためステップS204の処理が実行されておらず、また、ステップS205においてNOであるためステップS206の処理が実行されていない)、データブロックの取得状態も未取得となっている。
放送受信制御部16は、未取得のデータブロックDDB0およびDDB3がある場合、データカルーセル方式により未取得のデータブロックDDB0およびDDB3が再送信される時間帯(図4のNo.39〜45、No.60〜66、No.72〜78に対応)にTSパケットの受信を行い、すでに取得したデータブロックDDB1、DDB2が再送信される時間帯(図4のNo.46〜59、No.67〜71)ではTSパケットの受信を中断する処理を行う。
放送受信制御部16は、受信再開時刻Trを、例えば以下の式を用いて算出する。すなわち、放送受信制御部16は、直前に受信したデータブロック(DII、DDBi(i=0〜n))と受信再開時刻Trの算出対象となる正常取得が完了していないデータブロック(DDBi)との間にデータブロックDIIがある場合は、
(式1)Tr=Tp+(Td_DII+Ti)+(Td_DDB+Ti)×n_DDB+Tc−Ts
により受信再開時刻Trを算出する。また、放送受信制御部16は、直前に受信したデータブロック(DII、DDBi(iは0〜n))と受信再開時刻Trの算出対象となる正常取得が完了していないデータブロック(DDBi)との間にデータブロックDIIがない場合は、
(式2)Tr=Tp+(Td_DDB+Ti)×n_DDB−Ts
により受信再開時刻Trを算出する。
ここで、Tpは現在時刻、Td_DIIはデータブロックDIIの最後のTSパケットの受信時刻とデータブロックDIIの最初のTSパケットの受信時刻との差、Td_DDBはデータブロックDDBi(i=0〜n)の最後のTSパケットの受信時刻とデータブロックDDBiの最初のTSパケットの受信時刻との差、TiはTSパケットの受信間隔(ただし、カルーセルデータ送信サイクルがj順目(j=1〜m)の最後のTSパケットと(j+1)順目の最初のTSパケットの間の受信間隔以外の受信間隔)、n_DDBは直前に受信したデータブロックと受信再開時刻Trの算出対象となる正常取得が完了していないデータブロックとの間にあるデータブロックDDBiの数、Tcはカルーセルデータ送信サイクルがj順目の最後のTSパケットの受信が完了してから(j+1)順目の最初のTSパケットの受信を開始するまでのインターバル、Tsは受信中断中に非動作状態にあったチューナー12やマルチメディアデコーダ13などの機能部が動作状態となるまでに必要な時間である。
なお、Tp、Tiの情報はタイマ18から得られ、Td_DII、Td_DDB、n_DDBの情報は記憶部17に記憶された時刻記憶テーブル30から得られ、Tcの情報はj順目の最後のTSパケットの受信時刻、(j+1)順目の最初のTSパケットの受信時刻、および、TSパケットの受信間隔Tiの情報から得られる。
例えば、図4において2順目のデータブロックDIIを構成する最後のTSパケット(図4のNo.38に対応するTSパケット)の受信までが完了した場合について考える。1順目では、データブロックDDB0およびDDB3に受信エラーが発生し、それらのデータブロックの取得が正常に完了していない。よって、データブロックDDB0およびDDB3を構成するデータを含むTSパケットが放送局により再送信されるタイミングでTSパケットを受信するようにし、それ以外のTSパケットが再送信される間はTSパケットの受信を中断するようにする。
この場合、放送受信制御部16は、2順目のデータブロックDIIを構成するデータを含む最後のTSパケット(図4のNo.38に対応するTSパケット)を受信した時点でデータブロックDIIの取得が完了し、これにより1順目ですでに受信したデータブロックDIIを再度受信したと判定するので(図3のステップS208においてYESの場合)、その後のデータブロックの受信を継続して行うか否かを判定する処理をさらに行う(図3のステップS209)。
この判定は受信再開時刻Trを算出することにより行われるが、直前に取得が完了したデータブロックDIIと受信再開時刻Trの算出対象となる正常取得が完了していないデータブロックDDB0との間にデータブロックDIIはないので、放送受信制御部16は、式(2)を用いて受信再開時刻Trを算出する。
この場合、Tpは「02:04:4」(124.4秒)、Td_DDBは1順目のデータブロックDDB2の最後のTSパケットの受信時刻「02:02:5」と最初のTSパケットの受信時刻「02:01:9」との差で0.6秒(図5を参照。なお、正常取得されている他のデータブロック、例えばデータブロックDDB1の最後のTSパケットの受信時刻と最初のTSパケットの受信時刻との差を用いることとしてもよい。)、Tiは0.1秒、n_DDBは直前に取得が完了したデータブロックDIIと受信再開時刻Trの算出対象となるデータブロックDDB0との間にデータブロックがないので0となる。なお、ここではTsは0とする。
これらを式(2)に代入すると、
Tr=124.4+(0.6+0.1)×0−0=124.4(秒)(時刻「02:04:4」)
となる。現在時刻は「02:04:4」であり、この受信再開時刻「02:04:4」と一致するので、放送受信制御部16は、その後のデータブロックDDB0の受信を継続して行う。
同様に、放送受信制御部16は、正常取得が完了していないデータブロックDDB3のTSパケットの受信再開時刻Trを式(2)を用いて算出する。この場合、Tpは「02:04:4」(124.4秒)、Td_DDBは1順目のデータブロックDDB2の最後のTSパケットの受信時刻「02:02:5」と最初のTSパケットの受信時刻「02:01:9」との差で0.6秒(図5を参照。なお、正常取得されている他のデータブロックの最後のTSパケットの受信時刻と最初のTSパケットの受信時刻との差を用いることとしてもよい。)、Tiは0.1秒、n_DDBは直前に取得が完了したデータブロックDIIと受信再開時刻Trの算出対象となるデータブロックDDB3との間にデータブロックが3つ(データブロックDDB0、DDB1、DDB2)あるので3となる。なお、ここではTsは0とする。
これらを式(2)に代入すると、
Tr=124.4+(0.6+0.1)×3−0=126.5(秒)(時刻「02:06:5」)
となる。現在時刻は「02:04:4」であり、この受信再開時刻「02:06:5」に達していないため、放送受信制御部16は、現在時刻「02:04:4」にTSパケットの受信を中断し、時刻「02:06:5」にその受信を再開する。ここで、データブロックDDB0の受信開始時刻Trの算出の際には、放送受信制御部16は、現在時刻「02:04:4」においてその後のデータブロックDDB0の受信を継続して行うと判定しており、現在時刻「02:04:4」にTSパケットの受信を中断するという上記判定とは異なるものとなっている。この場合、放送受信制御部16は、データブロックの受信を行うという判定を優先させる。
図4の例では、2順目においてもデータブロックDDB0のTSパケット(図4のNo.43に対応するTSパケット)に受信エラーが発生し、データブロックDDB0の取得が正常に完了していない。この場合、放送受信制御部16は、正常取得されていない他のデータブロックDDB3を構成するデータを含むTSパケットを受信する場合を除き、3順目でデータブロックDDB0を構成するデータを含むTSパケットが再送信される時刻までTSパケットの受信を中断する。
具体的には、放送受信制御部16は、2順目でデータブロックDDB0の最後のTSパケット(図4のNo.45に対応するTSパケット)を受信したとき、データブロックDDB0の取得が正常に完了せず(図3のステップS205においてNOの場合)、データブロックDDB0は1順目で受信したことのある再受信したデータブロックであるので(図3のステップS208においてYESの場合)、その後のデータブロックの受信を継続して行うか否かを判定する処理をさらに行う(図3のステップS209)。
その際、放送受信制御部16は、未だに取得が正常に完了していないデータブロックDDB0のTSパケットを受信するため、データブロックDDB0のTSパケットの受信再開時刻Trを算出する。この場合、直前に受信したデータブロックDDB0と受信再開時刻Trの算出対象となる3順目のデータブロックDDB0との間にデータブロックDIIがあるので、放送受信制御部16は、式(1)を用いて受信再開時刻Trを算出する。
ここで、Tpは「02:05:1」(125.1秒)、Td_DIIは2順目のデータブロックDIIの最後のTSパケットの受信時刻「02:04:4」と最初のTSパケットの受信時刻「02:04:0」との差で0.4秒(他のカルーセルデータ送信サイクルにおける取得済みデータブロックDIIの最後のTSパケットの受信時刻と最初のTSパケットの受信時刻との差を記憶しておき、それを用いることとしてもよい。)、Tiは0.1秒、Td_DDBは1順目のデータブロックDDB2の最後のTSパケットの受信時刻「02:02:5」と最初のTSパケットの受信時刻「02:01:9」との差で0.6秒(正常取得されている他のデータブロック、例えばデータブロックDDB1の最後のTSパケットの受信時刻と最初のTSパケットの受信時刻との差を用いることとしてもよい。)、n_DDBは直前に受信した2順目のデータブロックDDB0と受信再開時刻Trの算出対象となる3順目のデータブロックDDB0との間にデータブロックが3つ(データブロックDDB1、DDB2、DDB3)あるので3、Tcは1順目の最後のTSパケットの受信が完了してから2順目の最初のTSパケットの受信を開始するまでのインターバルとなる。すなわち、Tcは、2順目の最初のTSパケットの受信時刻「02:04:0」と、1順目の最後のTSパケットの受信時刻「02:03:2」との間の差からTSパケットの受信間隔である0.1秒を差し引いて0.7秒となる。なお、ここではTsは0とする。
これらを式(1)に代入すると、
Tr=125.1+(0.4+0.1)+(0.6+0.1)×3+0.7−0=128.4(秒)(時刻「02:08:4」)
となる。現在時刻は「02:05:1」であり、この受信再開時刻「02:08:4」に達していないため、放送受信制御部16は、現在時刻「02:05:1」にTSパケットの受信を中断し、時刻「02:08:4」に受信を再開する。なお、この間、放送受信制御部16は、データブロックDDB3を構成するデータを含むTSパケットの受信に対して計算された受信再開時刻Trに基づいて、そのTSパケットの受信処理を行う。
以上受信再開時刻Trの算出方法について説明したが、その算出方法は上述したものに限られず、他の方法であってもよい。例えば、データブロックDII、DDBi(i=1〜n)を構成するデータを含んだTSパケットが送信されるタイミングの情報を別途予め取得できる場合には、その情報に基づいてすでに受信したデータブロックについてはTSパケットの受信処理を行わず、取得に失敗したデータブロックについてはTSパケットが送信されるタイミングでTSパケットを受信することとしてもよい。
なお、これまでデジタル放送受信装置およびデジタル放送受信方法の実施形態を中心に説明を行ったが、本発明はこれらの実施形態に限定されるものではなく、デジタル放送受信装置の機能を実現させるためのコンピュータプログラムとしての形態、あるいは、当該コンピュータプログラムが記録されたコンピュータ読み取り可能な記録媒体の形態として本発明を実施してもよい。
ここで、記録媒体としては、ディスク系(例えば、磁気ディスク、光ディスク等)、カード系(例えば、メモリカード、光カード等)、半導体メモリ系(例えば、ROM、不揮発性メモリ等)、テープ系(例えば、磁気テープ、カセットテープ等)等のいずれの形態の記録媒体であってもよい。
これら記録媒体に上述した本発明のデジタル放送受信装置の機能を実現させるためのコンピュータプログラム、または、デジタル放送受信方法をコンピュータに実行させるためのコンピュータプログラムを記録して流通させることにより、コストの低廉化、及び可搬性や汎用性を向上させることができる。
そして、コンピュータに上記記録媒体を装着し、コンピュータにより記録媒体に記録されたコンピュータプログラムを読み出してメモリに格納し、コンピュータが備えるプロセッサ(CPU、Central Processing Unit)が当該コンピュータプログラムをメモリから読み出して実行することにより、本発明に係るデジタル放送受信装置の機能を実現し、デジタル放送受信方法を実行することができる。