(57)【要約】【課題】ディスク状の記録媒体に記録されたデータを、ネットワークを介して効率的に送信することができるようにする。【解決手段】ストリームを構成するデータを送信するとき、送信装置１においては、シーケンス番号と、データが記録されたHDD１３の領域の物理アドレスとの対応を表すテーブルに基づいて、シークにかかる時間の短い位置に記録されている、シーケンス番号が小さいデータがHDD１３から読み出される。所定の送信周期の間にHDD１３から読み出されたデータは、シーケンス番号順に並び替えられた後、受信装置２に送信される。受信装置２においては、送信装置１においてシーケンス番号順に並び替えきれなかったデータが、シーケンス番号順に並べられ、再生対象のデータとして用いられる。本発明は、ディスク状の記録媒体に記録されたデータの送受信をネットワークを介して行う装置に適用することができる。【選択図】図１
2008010037.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して接続される送信装置と受信装置からなる送受信システムにおいて、
前記送信装置は、
ストリームを、それを構成する一定の単位のストリームデータ毎にシーケンス番号を設定してディスク状の記録媒体に記録させ、前記記録媒体におけるそれぞれの前記ストリームデータの記録位置を、設定したシーケンス番号と対応付けて管理する記録手段と、
前記記録手段により管理される記録位置とシーケンス番号の対応に基づいて、１次と２次の並び替えによってシーケンス番号順に並び替えることができる前記ストリームデータを、前記記録媒体の現在の読み出し位置を基準としてシーク時間の短い位置に記録されている順に読み出してバッファに記録させる読み出し手段と、
直前の送信タイミングから次の送信タイミングまでの間に前記読み出し手段により前記バッファに記録された前記ストリームデータをシーケンス番号の小さい順に並び替えることを１次の並び替えとして行い、並び替えた順に前記受信装置に送信する送信手段と
を備え、
前記受信装置は、
前記送信装置から送信されてきた前記ストリームデータを受信し、受信した順にバッファに記録させる受信手段と、
所定の期間に前記受信手段により前記バッファに記録された前記ストリームデータをシーケンス番号順に並び替えることを２次の並び替えとして行い、シーケンス番号順に並び替えた前記ストリームデータを再生対象のデータとして出力する出力手段と
を備える送受信システム。
【請求項２】
送信されてきたストリームデータを受信し、受信した順にバッファに記録させ、所定の期間に前記バッファに記録させた前記ストリームデータを、設定されたシーケンス番号順に並び替えることを２次の並び替えとして行い、シーケンス番号順に並び替えた前記ストリームデータを再生対象のデータとして出力する受信装置とネットワークを介して接続される送信装置において、
ストリームを、それを構成する一定の単位のストリームデータ毎にシーケンス番号を設定してディスク状の記録媒体に記録させ、前記記録媒体におけるそれぞれの前記ストリームデータの記録位置を、設定したシーケンス番号と対応付けて管理する記録手段と、
前記記録手段により管理される記録位置とシーケンス番号の対応に基づいて、１次と２次の並び替えによってシーケンス番号順に並び替えることができる前記ストリームデータを、前記記録媒体の現在の読み出し位置を基準としてシーク時間の短い位置に記録されている順に読み出してバッファに記録させる読み出し手段と、
直前の送信タイミングから次の送信タイミングまでの間に前記読み出し手段により前記バッファに記録された前記ストリームデータをシーケンス番号の小さい順に並び替えることを１次の並び替えとして行い、並び替えた順に前記受信装置に送信する送信手段と
を備える送信装置。
【請求項３】
送信されてきたストリームデータを受信し、受信した順にバッファに記録させ、所定の期間に前記バッファに記録させた前記ストリームデータを、設定されたシーケンス番号順に並び替えることを２次の並び替えとして行い、シーケンス番号順に並び替えた前記ストリームデータを再生対象のデータとして出力する受信装置とネットワークを介して接続される送信装置の送信方法において、
ストリームを、それを構成する一定の単位のストリームデータ毎にシーケンス番号を設定してディスク状の記録媒体に記録させ、前記記録媒体におけるそれぞれの前記ストリームデータの記録位置を、設定したシーケンス番号と対応付けて管理し、
管理する記録位置とシーケンス番号の対応に基づいて、１次と２次の並び替えによってシーケンス番号順に並び替えることができる前記ストリームデータを、前記記録媒体の現在の読み出し位置を基準としてシーク時間の短い位置に記録されている順に読み出してバッファに記録させ、
直前の送信タイミングから次の送信タイミングまでの間に前記バッファに記録させた前記ストリームデータをシーケンス番号の小さい順に並び替えることを１次の並び替えとして行い、並び替えた順に前記受信装置に送信する
ステップを含む送信方法。
【請求項４】
送信されてきたストリームデータを受信し、受信した順にバッファに記録させ、所定の期間に前記バッファに記録させた前記ストリームデータを、設定されたシーケンス番号順に並び替えることを２次の並び替えとして行い、シーケンス番号順に並び替えた前記ストリームデータを再生対象のデータとして出力する受信装置とネットワークを介して接続される送信装置の送信処理をコンピュータに実行させるプログラムにおいて、
ストリームを、それを構成する一定の単位のストリームデータ毎にシーケンス番号を設定してディスク状の記録媒体に記録させ、前記記録媒体におけるそれぞれの前記ストリームデータの記録位置を、設定したシーケンス番号と対応付けて管理し、
管理する記録位置とシーケンス番号の対応に基づいて、１次と２次の並び替えによってシーケンス番号順に並び替えることができる前記ストリームデータを、前記記録媒体の現在の読み出し位置を基準としてシーク時間の短い位置に記録されている順に読み出してバッファに記録させ、
直前の送信タイミングから次の送信タイミングまでの間に前記バッファに記録させた前記ストリームデータをシーケンス番号の小さい順に並び替えることを１次の並び替えとして行い、並び替えた順に前記受信装置に送信する
ステップを含むプログラム。
【請求項５】
ストリームを、それを構成する一定の単位のストリームデータ毎にシーケンス番号を設定してディスク状の記録媒体に記録させ、前記記録媒体におけるそれぞれの前記ストリームデータの記録位置を、設定したシーケンス番号と対応付けて管理し、管理する記録位置とシーケンス番号の対応に基づいて、１次と２次の並び替えによってシーケンス番号順に並び替えることができる前記ストリームデータを、前記記録媒体の現在の読み出し位置を基準としてシーク時間の短い位置に記録されている順に読み出してバッファに記録させ、直前の送信タイミングから次の送信タイミングまでの間に前記バッファに記録させた前記ストリームデータをシーケンス番号の小さい順に並び替えることを１次の並び替えとして行い、並び替えた順に送信する送信装置とネットワークを介して接続される受信装置において、
前記送信装置から送信されてきた前記ストリームデータを受信し、受信した順にバッファに記録させる受信手段と、
所定の期間に前記受信手段により前記バッファに記録された前記ストリームデータをシーケンス番号順に並び替えることを２次の並び替えとして行い、シーケンス番号順に並び替えた前記ストリームデータを再生対象のデータとして出力する出力手段と
を備える受信装置。
【請求項６】
ストリームを、それを構成する一定の単位のストリームデータ毎にシーケンス番号を設定してディスク状の記録媒体に記録させ、前記記録媒体におけるそれぞれの前記ストリームデータの記録位置を、設定したシーケンス番号と対応付けて管理し、管理する記録位置とシーケンス番号の対応に基づいて、１次と２次の並び替えによってシーケンス番号順に並び替えることができる前記ストリームデータを、前記記録媒体の現在の読み出し位置を基準としてシーク時間の短い位置に記録されている順に読み出してバッファに記録させ、直前の送信タイミングから次の送信タイミングまでの間に前記バッファに記録させた前記ストリームデータをシーケンス番号の小さい順に並び替えることを１次の並び替えとして行い、並び替えた順に送信する送信装置とネットワークを介して接続される受信装置の受信方法において、
前記送信装置から送信されてきた前記ストリームデータを受信し、受信した順にバッファに記録させ、
所定の期間に前記バッファに記録させた前記ストリームデータをシーケンス番号順に並び替えることを２次の並び替えとして行い、シーケンス番号順に並び替えた前記ストリームデータを再生対象のデータとして出力する
ステップを含む受信方法。
【請求項７】
ストリームを、それを構成する一定の単位のストリームデータ毎にシーケンス番号を設定してディスク状の記録媒体に記録させ、前記記録媒体におけるそれぞれの前記ストリームデータの記録位置を、設定したシーケンス番号と対応付けて管理し、管理する記録位置とシーケンス番号の対応に基づいて、１次と２次の並び替えによってシーケンス番号順に並び替えることができる前記ストリームデータを、前記記録媒体の現在の読み出し位置を基準としてシーク時間の短い位置に記録されている順に読み出してバッファに記録させ、直前の送信タイミングから次の送信タイミングまでの間に前記バッファに記録させた前記ストリームデータをシーケンス番号の小さい順に並び替えることを１次の並び替えとして行い、並び替えた順に送信する送信装置とネットワークを介して接続される受信装置の受信処理をコンピュータに実行させるプログラムにおいて、
前記送信装置から送信されてきた前記ストリームデータを受信し、受信した順にバッファに記録させ、
所定の期間に前記バッファに記録させた前記ストリームデータをシーケンス番号順に並び替えることを２次の並び替えとして行い、シーケンス番号順に並び替えた前記ストリームデータを再生対象のデータとして出力する
ステップを含むプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、送受信システム、送信装置、送信方法、受信装置、受信方法、およびプログラムに関し、特に、ディスク状の記録媒体に記録されたデータを、ネットワークを介して効率的に送信することができるようにした送受信システム、送信装置、送信方法、受信装置、受信方法、およびプログラムに関する。
【背景技術】
【０００２】
近年、録画したテレビジョン番組のデータを同じネットワークに接続される再生機に送信するといった、ネットワークストレージサーバ機能を有する録画機が各種提案されている。ユーザは、録画機から送信されてきたデータをその再生機に再生させることによって、録画機が設置されている場所から離れた場所で、録画しておいたテレビジョン番組を視聴したりすることができる。
【０００３】
特許文献１には、複数の端末からの要求に応じて動画データを配信するサーバ装置が開示されている。
【特許文献１】特開平１０−１２４３５２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、このようなネットワークストレージサーバ機能を有する録画機においてテレビジョン番組のデータをハードディスクから読み出して再生機に送信する場合、データがハードディスク上に散在して記録されているときには、データの読み出し速度が遅くなる。
【０００５】
例えば、同じハードディスクを対象としてデータの記録が繰り返された場合、テレビジョン番組のデータがハードディスクに細切れ的に記録されている状態になることがあり、このような状態のときには、一筆書きで記録されているデータを読み出すときと較べてシークに時間がかかり、データの読み出し速度が遅くなる。
【０００６】
従って、録画機と再生機からなるこのようなシステムにおいては、通常、ハードディスクからランダムREADを行ったときでも保証できる範囲内の帯域を持つストリームしか扱うことができない。
【０００７】
保証できる範囲を超えたストリームを扱った場合、再生すべきデータがまだ録画機から到達していなかったりすることがあり、この場合、ストリームの再生が破綻してしまう。また、データの記録位置によって速く読み出せたり読み出せなかったりすることから、読み出し速度にばらつきが生じ、安定したデータの送受信を行うことができない。
【０００８】
このようなことを防ぐためには、複数のハードディスクを並列に接続してそれぞれのハードディスクからデータの読み出しが行われるようにするストライピング接続などの措置をとるなどして、ストリームの帯域と較べてハードディスクの読み出し帯域を十分に高くし、ハードディスクからのデータの読み出しに余裕をもたせる必要があるが、当然、コストが高くなってしまう。
【０００９】
本発明はこのような状況に鑑みてなされたものであり、ディスク状の記録媒体に記録されたデータを、ネットワークを介して効率的に送信することができるようにするものである。
【課題を解決するための手段】
【００１０】
本発明の第１の側面の送受信システムは、ネットワークを介して接続される送信装置と受信装置からなる送受信システムにおいて、前記送信装置は、ストリームを、それを構成する一定の単位のストリームデータ毎にシーケンス番号を設定してディスク状の記録媒体に記録させ、前記記録媒体におけるそれぞれの前記ストリームデータの記録位置を、設定したシーケンス番号と対応付けて管理する記録手段と、前記記録手段により管理される記録位置とシーケンス番号の対応に基づいて、１次と２次の並び替えによってシーケンス番号順に並び替えることができる前記ストリームデータを、前記記録媒体の現在の読み出し位置を基準としてシーク時間の短い位置に記録されている順に読み出してバッファに記録させる読み出し手段と、直前の送信タイミングから次の送信タイミングまでの間に前記読み出し手段により前記バッファに記録された前記ストリームデータをシーケンス番号の小さい順に並び替えることを１次の並び替えとして行い、並び替えた順に前記受信装置に送信する送信手段とを備える。
【００１１】
また、前記受信装置は、前記送信装置から送信されてきた前記ストリームデータを受信し、受信した順にバッファに記録させる受信手段と、所定の期間に前記受信手段により前記バッファに記録された前記ストリームデータをシーケンス番号順に並び替えることを２次の並び替えとして行い、シーケンス番号順に並び替えた前記ストリームデータを再生対象のデータとして出力する出力手段とを備える。
【００１２】
本発明の第２の側面の送信装置は、送信されてきたストリームデータを受信し、受信した順にバッファに記録させ、所定の期間に前記バッファに記録させた前記ストリームデータを、設定されたシーケンス番号順に並び替えることを２次の並び替えとして行い、シーケンス番号順に並び替えた前記ストリームデータを再生対象のデータとして出力する受信装置とネットワークを介して接続される送信装置において、ストリームを、それを構成する一定の単位のストリームデータ毎にシーケンス番号を設定してディスク状の記録媒体に記録させ、前記記録媒体におけるそれぞれの前記ストリームデータの記録位置を、設定したシーケンス番号と対応付けて管理する記録手段と、前記記録手段により管理される記録位置とシーケンス番号の対応に基づいて、１次と２次の並び替えによってシーケンス番号順に並び替えることができる前記ストリームデータを、前記記録媒体の現在の読み出し位置を基準としてシーク時間の短い位置に記録されている順に読み出してバッファに記録させる読み出し手段と、直前の送信タイミングから次の送信タイミングまでの間に前記読み出し手段により前記バッファに記録された前記ストリームデータをシーケンス番号の小さい順に並び替えることを１次の並び替えとして行い、並び替えた順に前記受信装置に送信する送信手段とを備える。
【００１３】
本発明の第２の側面の送信方法またはプログラムは、ストリームを、それを構成する一定の単位のストリームデータ毎にシーケンス番号を設定してディスク状の記録媒体に記録させ、前記記録媒体におけるそれぞれの前記ストリームデータの記録位置を、設定したシーケンス番号と対応付けて管理し、管理する記録位置とシーケンス番号の対応に基づいて、１次と２次の並び替えによってシーケンス番号順に並び替えることができる前記ストリームデータを、前記記録媒体の現在の読み出し位置を基準としてシーク時間の短い位置に記録されている順に読み出してバッファに記録させ、直前の送信タイミングから次の送信タイミングまでの間に前記バッファに記録させた前記ストリームデータをシーケンス番号の小さい順に並び替えることを１次の並び替えとして行い、並び替えた順に受信装置に送信するステップを含む。
【００１４】
本発明の第３の側面の受信装置は、ストリームを、それを構成する一定の単位のストリームデータ毎にシーケンス番号を設定してディスク状の記録媒体に記録させ、前記記録媒体におけるそれぞれの前記ストリームデータの記録位置を、設定したシーケンス番号と対応付けて管理し、管理する記録位置とシーケンス番号の対応に基づいて、１次と２次の並び替えによってシーケンス番号順に並び替えることができる前記ストリームデータを、前記記録媒体の現在の読み出し位置を基準としてシーク時間の短い位置に記録されている順に読み出してバッファに記録させ、直前の送信タイミングから次の送信タイミングまでの間に前記バッファに記録させた前記ストリームデータをシーケンス番号の小さい順に並び替えることを１次の並び替えとして行い、並び替えた順に送信する送信装置とネットワークを介して接続される受信装置において、前記送信装置から送信されてきた前記ストリームデータを受信し、受信した順にバッファに記録させる受信手段と、所定の期間に前記受信手段により前記バッファに記録された前記ストリームデータをシーケンス番号順に並び替えることを２次の並び替えとして行い、シーケンス番号順に並び替えた前記ストリームデータを再生対象のデータとして出力する出力手段とを備える。
【００１５】
本発明の第３の側面の受信方法またはプログラムは、送信装置から送信されてきたストリームデータを受信し、受信した順にバッファに記録させ、所定の期間に前記バッファに記録させた前記ストリームデータをシーケンス番号順に並び替えることを２次の並び替えとして行い、シーケンス番号順に並び替えた前記ストリームデータを再生対象のデータとして出力するステップを含む。
【００１６】
本発明の第１の側面の送受信システムの送信装置においては、ストリームが、それを構成する一定の単位のストリームデータ毎にシーケンス番号が設定されてディスク状の記録媒体に記録され、前記記録媒体におけるそれぞれの前記ストリームデータの記録位置が、設定されたシーケンス番号と対応付けて管理される。また、管理される記録位置とシーケンス番号の対応に基づいて、１次と２次の並び替えによってシーケンス番号順に並び替えることができる前記ストリームデータが、前記記録媒体の現在の読み出し位置を基準としてシーク時間の短い位置に記録されている順に読み出されてバッファに記録され、直前の送信タイミングから次の送信タイミングまでの間に前記バッファに記録された前記ストリームデータをシーケンス番号の小さい順に並び替えることが１次の並び替えとして行われ、並び替えられた順に受信装置に送信される。
【００１７】
一方、受信装置においては、送信装置から送信されてきたストリームデータが受信され、受信された順にバッファに記録される。また、所定の期間に前記バッファに記録された前記ストリームデータをシーケンス番号順に並び替えることが２次の並び替えとして行われ、シーケンス番号順に並び替えられた前記ストリームデータが再生対象のデータとして出力される。
【００１８】
本発明の第２の側面においては、ストリームが、それを構成する一定の単位のストリームデータ毎にシーケンス番号が設定されてディスク状の記録媒体に記録され、前記記録媒体におけるそれぞれの前記ストリームデータの記録位置が、設定されたシーケンス番号と対応付けて管理される。また、管理される記録位置とシーケンス番号の対応に基づいて、１次と２次の並び替えによってシーケンス番号順に並び替えることができる前記ストリームデータが、前記記録媒体の現在の読み出し位置を基準としてシーク時間の短い位置に記録されている順に読み出されてバッファに記録され、直前の送信タイミングから次の送信タイミングまでの間に前記バッファに記録された前記ストリームデータをシーケンス番号の小さい順に並び替えることが１次の並び替えとして行われ、並び替えられた順に受信装置に送信される。
【００１９】
本発明の第３の側面においては、送信装置から送信されてきたストリームデータが受信され、受信された順にバッファに記録される。また、所定の期間に前記バッファに記録された前記ストリームデータをシーケンス番号順に並び替えることが２次の並び替えとして行われ、シーケンス番号順に並び替えられた前記ストリームデータが再生対象のデータとして出力される。
【発明の効果】
【００２０】
本発明によれば、ディスク状の記録媒体に記録されたデータを、ネットワークを介して効率的に送信することができる。
【発明を実施するための最良の形態】
【００２１】
以下に本発明の実施の形態を説明するが、本発明の構成要件と、明細書又は図面に記載の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、明細書又は図面に記載されていることを確認するためのものである。従って、明細書又は図面中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が発明に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外には対応しないものであることを意味するものでもない。
【００２２】
本発明の第１の側面の送受信システム（例えば、図１の送受信システム）は、基本的に、本発明の第２の側面の送信装置（例えば、図１の送信装置１）の構成と、本発明の第３の側面の受信装置（例えば、図１の受信装置２）の構成を備える。それぞれの構成と実施の形態との対応関係は以下のようになる。
【００２３】
本発明の第２の側面の送信装置（例えば、図１の送信装置１）は、送信されてきたストリームデータを受信し、受信した順にバッファに記録させ、所定の期間に前記バッファに記録させた前記ストリームデータを、設定されたシーケンス番号順に並び替えることを２次の並び替えとして行い、シーケンス番号順に並び替えた前記ストリームデータを再生対象のデータとして出力する受信装置（例えば、図１の受信装置２）とネットワークを介して接続される送信装置において、ストリームを、それを構成する一定の単位のストリームデータ毎にシーケンス番号を設定してディスク状の記録媒体に記録させ、前記記録媒体におけるそれぞれの前記ストリームデータの記録位置を、設定したシーケンス番号と対応付けて管理する記録手段（例えば、図２の書き込み部１２Ａ）と、前記記録手段により管理される記録位置とシーケンス番号の対応に基づいて、１次と２次の並び替えによってシーケンス番号順に並び替えることができる前記ストリームデータを、前記記録媒体の現在の読み出し位置を基準としてシーク時間の短い位置に記録されている順に読み出してバッファに記録させる読み出し手段（例えば、図２の読み出し部１２Ｂ）と、直前の送信タイミングから次の送信タイミングまでの間に前記読み出し手段により前記バッファに記録された前記ストリームデータをシーケンス番号の小さい順に並び替えることを１次の並び替えとして行い、並び替えた順に前記受信装置に送信する送信手段（例えば、図１のネットワークコントローラ１７）とを備える。
【００２４】
本発明の第２の側面の送信方法またはプログラムは、ストリームを、それを構成する一定の単位のストリームデータ毎にシーケンス番号を設定してディスク状の記録媒体に記録させ、前記記録媒体におけるそれぞれの前記ストリームデータの記録位置を、設定したシーケンス番号と対応付けて管理し、管理する記録位置とシーケンス番号の対応に基づいて、１次と２次の並び替えによってシーケンス番号順に並び替えることができる前記ストリームデータを、前記記録媒体の現在の読み出し位置を基準としてシーク時間の短い位置に記録されている順に読み出してバッファに記録させ、直前の送信タイミングから次の送信タイミングまでの間に前記バッファに記録させた前記ストリームデータをシーケンス番号の小さい順に並び替えることを１次の並び替えとして行い、並び替えた順に受信装置に送信するステップ（例えば、図１４のステップＳ１４）を含む。
【００２５】
本発明の第３の側面の受信装置（例えば、図１の受信装置２）は、ストリームを、それを構成する一定の単位のストリームデータ毎にシーケンス番号を設定してディスク状の記録媒体に記録させ、前記記録媒体におけるそれぞれの前記ストリームデータの記録位置を、設定したシーケンス番号と対応付けて管理し、管理する記録位置とシーケンス番号の対応に基づいて、１次と２次の並び替えによってシーケンス番号順に並び替えることができる前記ストリームデータを、前記記録媒体の現在の読み出し位置を基準としてシーク時間の短い位置に記録されている順に読み出してバッファに記録させ、直前の送信タイミングから次の送信タイミングまでの間に前記バッファに記録させた前記ストリームデータをシーケンス番号の小さい順に並び替えることを１次の並び替えとして行い、並び替えた順に送信する送信装置（例えば、図１の送信装置１）とネットワークを介して接続される受信装置において、前記送信装置から送信されてきた前記ストリームデータを受信し、受信した順にバッファに記録させる受信手段（例えば、図３の受信部２１Ａ）と、所定の期間に前記受信手段により前記バッファに記録された前記ストリームデータをシーケンス番号順に並び替えることを２次の並び替えとして行い、シーケンス番号順に並び替えた前記ストリームデータを再生対象のデータとして出力する出力手段（例えば、図３の転送部２１Ｂ）とを備える。
【００２６】
本発明の第３の側面の受信方法またはプログラムは、送信装置から送信されてきたストリームデータを受信し、受信した順にバッファに記録させ、所定の期間に前記バッファに記録させた前記ストリームデータをシーケンス番号順に並び替えることを２次の並び替えとして行い、シーケンス番号順に並び替えた前記ストリームデータを再生対象のデータとして出力するステップ（例えば、図１５のステップＳ２３）を含む。
【００２７】
以下、本発明の実施の形態について図を参照して説明する。
【００２８】
図１は、本発明の一実施形態に係る送受信システムの構成例を示すブロック図である。
【００２９】
図１に示されるように、この送受信システムは、送信装置１と受信装置２から構成される。送信装置１と受信装置２はネットワークを介して接続されている。
【００３０】
送信装置１は、テレビジョン番組などのコンテンツを録画し、録画済みのテレビジョン番組のデータであるストリームを受信装置２に送信する機能を有する。図１の例においては、送信装置１は、録画部１１、HDD(Hard Disk Drive)コントローラ１２、HDD１３、ホストメモリ１４、ホストCPU(Central Processing Unit)１５、ストリームFIFO(First In First Out)１６、およびネットワークコントローラ１７から構成されている。
【００３１】
一方、受信装置２は、送信装置１からネットワークを介して送信されてきたストリームを受信し、再生する機能を有する。図１の例においては、受信装置２は、ネットワークコントローラ２１、ストリームバッファ２２、ホストメモリ２３、ホストCPU２４、および再生部２５から構成されている。
【００３２】
送信装置１の録画部１１は、図示せぬアンテナから供給された信号に所定の処理を施し、処理を施すことによって得られた、地上ディジタル放送、BS(Broadcasting Satellite)／CS(Communications Satellite)ディジタル放送などのテレビジョン番組のストリームをHDDコントローラ１２に出力する。
【００３３】
HDDコントローラ１２は、録画部１１から供給されたストリームをHDD１３に記録させる。また、HDDコントローラ１２は、所定のテレビジョン番組のストリームを受信装置２に送信するとき、HDD１３に記録させていたそのストリームを読み出し、ホストメモリ１４に記録させる。
【００３４】
図２は、HDDコントローラ１２の構成例を示すブロック図である。
【００３５】
図２に示されるように、HDDコントローラ１２は、例えば、書き込み部１２Ａと読み出し部１２Ｂから構成される。
【００３６】
書き込み部１２Ａは、録画部１１から供給されたストリームをHDD１３に記録させるとき、書き込み単位のデータであるストリームデータ毎にシーケンス番号を設定し、シーケンス番号を設定したストリームデータを、シーケンス番号順にHDD１３に出力して記録させる。シーケンス番号は、例えば、ストリームデータのヘッダ部分などに記述される。
【００３７】
また、書き込み部１２Ａは、設定したシーケンス番号と、それぞれのストリームデータが記録されたHDD１３の領域の物理アドレスを対応付けて管理しておく。HDD１３に既に記録されているデータの状態によっては、連続するシーケンス番号のストリームデータであっても、それらのデータが連続する領域に記録されないこともある。シーケンス番号と物理アドレスの対応は、例えば、対応を表す情報が記述されたテーブルによって書き込み部１２Ａにより管理される。
【００３８】
読み出し部１２Ｂは、テレビジョン番組のストリームを受信装置２に送信するとき、シーケンス番号と物理アドレスの対応を表す情報が記述されたテーブルを書き込み部１２Ａから読み出し、テーブルの記述に基づいて、HDD１３から読み出すストリームデータを決定する。例えば、HDD１３の現在の読み出し位置を基準としてシークにかかる時間の短い位置に記録されているストリームデータであって、かつ、シーケンス番号が小さいストリームデータが、読み出し対象のストリームデータとして決定される。
【００３９】
読み出し部１２Ｂは、読み出し対象として決定したストリームデータをHDD１３から読み出し、読み出したストリームデータをホストメモリ１４に記録させる。現在の読み出し位置とストリームデータの記録状況によっては、シーケンス番号の大きいものが、シーケンス番号の小さいものより先に読み出されることもある。
【００４０】
図１の説明に戻り、HDD１３は、HDDコントローラ１２による制御に従って、HDDコントローラ１２から供給されたストリームデータを記録する。HDD１３に記録されたストリームデータは、HDDコントローラ１２により読み出され、ホストメモリ１４に転送される。
【００４１】
ホストメモリ１４は、HDDコントローラ１２から供給されたストリームデータを記録する。
【００４２】
ホストCPU１５は、ホストメモリ１４に記録されたストリームデータを所定のプロトコルに従ってパケット化し、HDDコントローラ１２から供給された順に、パケット化したストリームデータをストリームFIFO１６に転送させる。
【００４３】
ストリームFIFO１６は、ホストメモリ１４から転送されてきたストリームデータを、転送されてきた順に記録する。ストリームFIFO１６に記録されたストリームデータは、ネットワークコントローラ１７により所定のタイミングで読み出される。
【００４４】
ネットワークコントローラ１７は、あらかじめ定められる送信周期に従って、直前の送信タイミングから次の送信タイミングまでの間にストリームFIFO１６に記録されたストリームデータを、シーケンス番号の小さい順に適宜並び替える。送信周期は、送信装置１におけるストリームの送信レートと、受信装置２においてストリームを再生するときに許容される遅延時間などにより決定される。
【００４５】
ネットワークコントローラ１７は、順番を並び替えたストリームデータを、その順番でネットワークを介して受信装置２に送信する。
【００４６】
一方、受信装置２のネットワークコントローラ２１は、ネットワークを介して送信装置１から送信されてきたストリームデータを受信し、受信したストリームデータをストリームバッファ２２に記録させる。また、ネットワークコントローラ２１は、ストリームバッファ２２に記録させているストリームデータを所定のタイミングで読み出し、適宜、読み出したストリームデータをシーケンス番号の小さい順に並び替えた後、ホストメモリ２３に記録させる。
【００４７】
図３は、ネットワークコントローラ２１の構成例を示すブロック図である。
【００４８】
図３に示されるように、ネットワークコントローラ２１は、例えば、受信部２１Ａと転送部２１Ｂから構成される。
【００４９】
受信部２１Ａは、送信装置１から送信されてきたストリームデータを受信し、受信した順にストリームデータをストリームバッファ２２に記録させる。
【００５０】
転送部２１Ｂは、ストリームバッファ２２に記録させているストリームデータを所定のタイミングで読み出し、読み出したストリームデータを、シーケンス番号の小さい順に適宜並び替える。転送部２１Ｂにより行われる並び替えにより、対象のストリームデータはシーケンス番号順に並んだものになる。転送部２１Ｂは、順番を並び替えたストリームデータをホストメモリ２３に出力し、記録させる。
【００５１】
図１の説明に戻り、ストリームバッファ２２は、ネットワークコントローラ２１による制御に従って、ストリームデータを記録する。
【００５２】
ホストメモリ２３は、ネットワークコントローラ２１から供給されたストリームデータを記録する。
【００５３】
ホストCPU２４は、ホストメモリ２３に記録されているストリームデータのパケットを解析し、解析して得られたストリームデータを再生対象のデータとして再生部２５に出力する。
【００５４】
再生部２５は、ホストメモリ２３から供給されたストリームデータを再生し、再生して得られたテレビジョン番組の映像を図示せぬディスプレイに表示させる。また、再生部２５は、再生して得られたテレビジョン番組の音声を図示せぬスピーカから出力させる。
【００５５】
図４は、ストリームデータの並び替えの例を示す図である。
【００５６】
図４において、１つの四角は１つのストリームデータを表す。四角の中に示される数字は、その四角により表されるストリームデータのシーケンス番号を表す。以下、適宜、ｎ番目のストリームデータをストリームデータｓｎとして説明する。
【００５７】
上述したように、送信装置１において行われるHDD１３からのストリームデータの読み出しは、HDD１３の現在の読み出し位置を基準としてシークにかかる時間の短い位置に記録されているストリームデータであって、かつ、シーケンス番号が小さいストリームデータから順に行われる。
【００５８】
図４の例においては、左側に示されるように、HDD１３からのストリームデータの読み出しがストリームデータｓ５，ｓ１，ｓ４，ｓ６，ｓ８，ｓ２，ｓ７，ｓ３の順に行われている。この例は、HDD１３の現在の読み出し位置に最も近い領域に記録されているストリームデータがストリームデータｓ５であり、続けて、ストリームデータｓ１，ｓ４，ｓ６，ｓ８，ｓ２，ｓ７，ｓ３の順に、現在の読み出し位置に近い領域に記録されている場合の例を示している。
【００５９】
HDD１３から読み出されたストリームデータは、ホストメモリ１４に記録され、パケット化の処理が施された後、ストリームFIFO１６に転送される。また、直前の送信タイミングから次の送信タイミングまでの間にストリームFIFO１６に記録されていたものの範囲でネットワークコントローラ１７によりシーケンス番号順に並べられ、ネットワーク上に送信される。図４の白抜き矢印Ａ1の先に示されるストリームデータは、ストリームFIFO１６に記録されている状態のデータを表している。
【００６０】
図４の例においては、送信タイミング１までの間にストリームFIFO１６に記録されていたストリームデータはストリームデータｓ５，ｓ１，ｓ４であり、ストリームデータｓ５，ｓ１，ｓ４の中でシーケンス番号順に並べ替えが行われた結果、白抜き矢印Ａ21の先に示されるように、ストリームデータの送信がストリームデータｓ１，ｓ４，ｓ５の順で行われている。
【００６１】
また、送信タイミング１から送信タイミング２までの間にストリームFIFO１６に記録されていたストリームデータはストリームデータｓ６，ｓ８であり、白抜き矢印Ａ22の先に示されるように、ストリームデータの送信がストリームデータｓ６，ｓ８の順で行われている。送信タイミング１から送信タイミング２までの間においては、シーケンス番号の小さいストリームデータであるストリームデータｓ６がストリームデータｓ８よりも先に記録されているから、この場合、並び替えは行われずに、ストリームFIFO１６に記録されていた順に送信される。
【００６２】
さらに、送信タイミング２から送信タイミング３までの間にストリームFIFO１６に記録されていたストリームデータはストリームデータｓ２，ｓ７，ｓ３であり、ストリームデータｓ２，ｓ７，ｓ３の中でシーケンス番号順に並べ替えが行われた結果、白抜き矢印Ａ23の先に示されるように、ストリームデータの送信がストリームデータｓ２，ｓ３，ｓ７の順で行われている。
【００６３】
すなわち、送信装置１からネットワーク上に送信された段階では、ストリームデータをシーケンス番号順に並び替えることが完全には終わっていない状態にあることがある。ストリームデータの並び替えの続きは、受信装置２において行われる。
【００６４】
送信装置１のネットワークコントローラ１７から送信されたストリームデータは、受信装置２のネットワークコントローラ２１により受信され、ストリームバッファ２２に記録される。図４の白抜き矢印Ａ3の先に示されるストリームデータは、ストリームバッファ２２に記録されている状態のデータを表している。
【００６５】
図４の例においては、送信装置１から送信されてきたストリームデータが、送信されてきたストリームデータｓ１，ｓ４，ｓ５，ｓ６，ｓ８，ｓ２，ｓ３，ｓ７の順にストリームバッファ２２に記録されている。
【００６６】
ストリームバッファ２２に記録されたストリームデータは、ネットワークコントローラ２１によりシーケンス番号順に並べ替えられた後、ホストメモリ２３に記録される。ホストメモリ２３に記録され、パケットの解析が行われることによって得られたストリームデータは、再生対象のデータとして再生部２５に出力される。
【００６７】
図４の例においては、ストリームデータｓ１，ｓ４，ｓ５，ｓ６，ｓ８，ｓ２，ｓ３，ｓ７の順にストリームバッファ２２に記録されていたストリームデータは、白抜き矢印Ａ4の先に示されるように、ストリームデータｓ１，ｓ２，ｓ３，ｓ４，ｓ５，ｓ６，ｓ７，ｓ８の順、すなわち、シーケンス番号順に並べられ、再生対象のデータとして出力されている。
【００６８】
このように、図１の送受信システムにおいては、HDD１３から読み出されたストリームデータがシーケンス番号順に並んでいないものである場合、送信装置１において１次的な並び替えが行われ、その１次的な並び替えで並び替えきれなかったデータが、受信装置２において行われる２次的な並び替えにより、シーケンス番号順に並び替えられる。
【００６９】
再生の順番であるシーケンス番号順にデータを読み出すことよりも、読み出しになるべく時間のかからないデータを読み出すことを優先し、データの順番の並び替えは、データを読み出した後の送信処理、受信処理の中でカバーすることで、HDD１３の読み出し帯域を見かけ上高めることができ、安定したデータの送受信を実現することができる。
【００７０】
また、ネットワークコントローラ１７が使うストリームFIFO１６とネットワークコントローラ２１が使うストリームバッファ２２は、それぞれ、データの送受信を実現するために必要なバッファであるから、そのようなバッファをストリームデータの並び替えにも用いることによって、バッファを有効に使うことができる。また、並び替えを行うためのバッファを別に用意する必要がない。
【００７１】
ネットワーク上に送信されたパケットは途中の経路で発生する遅延、エラーによって、必ずしも送出された順番でターゲットには届かないため、ネットワークを介したデータの送受信を実現するためには、送信側の装置、受信側の装置ともに十分なバッファがもともと必要になるから、上述した例においては、そのようなバッファが、データの並び替えにも用いられていることになる。
【００７２】
このように、図１の送受信システムにおいては、シークに比較的時間がかかるといったHDDからのデータの読み出しの特徴と、バッファがもともと必要であり、そのバッファを用いることによってデータの並び替えを行うことができるといったネットワークを介したデータの送受信の特徴が組み合わされることによって、HDDに記録されているストリームデータの、効率的な伝送が実現される。
【００７３】
次に、送信装置１におけるストリームデータの記録から、受信装置２におけるストリームデータの再生に至るまでの一連の流れについてより詳細に説明する。
【００７４】
図５は、送信装置１において行われる、HDD１３へのストリームデータの記録の例を示す図である。
【００７５】
図５においても、１つの四角は１つのストリームデータを表す。四角の中に示される数字は、その四角により表されるストリームデータのシーケンス番号を表す。後述する図７、図９、図１０、図１１、図１２においても同様である。
【００７６】
図５に示されるように、HDDコントローラ１２は、録画部１１から供給されたストリームデータ毎にシーケンス番号を設定し、シーケンス番号を設定したストリームデータをシーケンス番号順にHDD１３に出力して記録させる。
【００７７】
この例においては、ストリームデータＤ1，Ｄ2，Ｄ3，Ｄ4，・・・からなるストリームが録画部１１から供給されてきており、ストリームデータＤ1，Ｄ2，Ｄ3，Ｄ4のそれぞれに１乃至４のシーケンス番号が設定され、シーケンス番号順にHDD１３に出力されている。
【００７８】
また、HDDコントローラ１２は、設定したシーケンス番号と、それぞれのストリームデータが記録されたHDD１３の領域の物理アドレスをテーブルＴによって管理する。
【００７９】
図６は、ストリームデータが記録された領域の例を示す図である。図６のより右側の位置が、現在の読み出し位置であるアドレスａ1から離れた位置になる。
【００８０】
図６の例においては、アドレスａ2からａ3までの領域にストリームデータｓ１が記録され、アドレスａ4からａ5までの領域にストリームデータｓ３が記録されている。また、アドレスａ6からａ7までの領域にストリームデータｓ４が記録されている。同様に、ストリームデータｓ２，ｓ７，ｓ５，ｓ９，ｓ６，ｓ１２，ｓ１１，ｓ１０，ｓ８が、その順番でHDD１３のそれぞれの領域に記録されている。
【００８１】
このようなそれぞれのストリームデータのシーケンス番号と、記録位置を表すアドレスの対応付けがテーブルＴによって管理される。
【００８２】
図７は、送信装置１において行われる、HDD１３からのストリームデータの読み出しの例を示す図である。
【００８３】
図７に示されるように、HDDコントローラ１２は、テーブルＴの記述に基づいて、HDD１３の現在の読み出し位置を基準としてシークにかかる時間の短い位置に記録されているストリームデータであって、かつ、シーケンス番号が小さいストリームデータを読み出し対象として決定し、ストリームデータを読み出す。
【００８４】
図７の例においては、HDD１３からのストリームデータの読み出しがストリームデータｓ１，ｓ３，ｓ４，ｓ２の順に行われている。HDD１３から読み出されたストリームデータはホストメモリ１４に出力され、記録される。
【００８５】
例えば、図６に示されるようにしてそれぞれのストリームデータがHDD１３に記録されている場合、現在の読み出し位置であるアドレスａ1を基準として最も近い位置に記録されているストリームデータｓ１は、受信装置２に送信するストリームを構成するストリームデータのうちのシーケンス番号が最も小さいデータであるから、１番目に読み出す対象のデータとして決定される。
【００８６】
また、読み出し対象のデータとして決定されたストリームデータｓ１の次にアドレスａ1に近い位置に記録されているストリームデータｓ３は、送信装置１において行われる１次の並び替えと、受信装置２において行われる２次の並び替えによってシーケンス番号順に並べ替えることができるデータであるから、２番目に読み出す対象のデータとして決定される。
【００８７】
読み出し対象のデータとして決定されたストリームデータｓ３の次にアドレスａ1に近い位置に記録されているストリームデータｓ４は、送信装置１において行われる１次の並び替えと、受信装置２において行われる２次の並び替えによってシーケンス番号順に並べ替えることができるデータであるから、３番目に読み出す対象のデータとして決定される。
【００８８】
読み出し対象のデータとして決定されたストリームデータｓ４の次にアドレスａ1に近い位置に記録されているストリームデータｓ２は、送信装置１において行われる１次の並び替えと、受信装置２において行われる２次の並び替えによってシーケンス番号順に並べ替えることができるデータであるから、４番目に読み出す対象のデータとして決定される。
【００８９】
このように、現在の読み出し位置を基準として、近い位置に記録されている順にそれぞれのストリームデータが注目され、注目されたストリームデータが、送信装置１において行われる１次の並び替えと、受信装置２において行われる２次の並び替えによってシーケンス番号順に並べ替えることができるデータであるときには、順次、読み出し対象のデータとして決定される。すなわち、１次と２次の並び替えによってシーケンス番号順に並べ替えることができるデータが、現在の読み出し位置を基準として、近い位置に記録されている順に、読み出し対象のデータとして決定される。
【００９０】
１次と２次の並び替えによってシーケンス番号順に並べ替えることができるか否かは、受信装置２におけるデータの再生時に許容される遅延時間などに基づいて決定される。
【００９１】
例えば、受信装置２において、送信装置１から送信されてきたデータのバッファリングがあまり行われず、送信されてきたデータから次々と再生される場合、後から読み出されるストリームデータを待ってシーケンス番号順に並び替える時間があまりないから、この場合、仮に、ストリームデータｓ１の次にストリームデータｓ１０が記録されているときでも、ストリームデータｓ１の次にストリームデータｓ１０が読み出されることはない。
【００９２】
反対に、受信装置２において、送信装置１から送信されてきたデータのバッファリングが十分に行われてから再生が行われる場合、後から読み出されるストリームデータを待ってシーケンス番号順に並び替える時間があるから、この場合、仮に、ストリームデータｓ１の次にストリームデータｓ１０が記録されているときには、ストリームデータｓ１の次に、そのストリームデータｓ１０が読み出される。ストリームデータｓ１０の順番は、HDD１３から読み出された後、ストリームデータｓ１０より後に読み出された他のストリームデータなどとともに、１次と２次の並び替えによって並び替えられる。
【００９３】
図８Ａ，図８Ｂは、HDD１３の読み出し位置について示す図である。
【００９４】
図８Ａは、図７に示されるような順番でストリームデータの読み出しが行われるときの読み出し位置の切り替えを示す図であり、図８Ｂは、図６に示されるようにそれぞれのストリームデータが記録されている状態で、シーケンス番号順にストリームデータの読み出しが行われるときの読み出し位置の切り替えを示す図である。
【００９５】
例えば、図７に示されるようにストリームデータｓ１，ｓ３，ｓ４，ｓ２の順にストリームデータの読み出しが行われる場合、図８Ａに示されるように、現在の読み出し位置のアドレスａ1から、ストリームデータｓ１が記録されている領域の開始位置であるアドレスａ2にシークが行われ、アドレスａ3の位置まで読み出しが続けられる。
【００９６】
ストリームデータｓ１の読み出しが終わったとき、アドレスａ3から、ストリームデータｓ３が記録されている領域の開始位置であるアドレスａ4にシークが行われ、アドレスａ5まで読み出しが続けられる。ストリームデータｓ３の読み出しが終わったとき、アドレスａ5から、ストリームデータｓ４が記録されている領域の開始位置であるアドレスａ6にシークが行われ、アドレスａ7まで読み出しが続けられる。
【００９７】
また、ストリームデータｓ４の読み出しが終わったとき、アドレスａ7から、ストリームデータｓ２が記録されている領域の開始位置であるアドレスａ8にシークが行われ、アドレスａ9まで読み出しが続けられる。
【００９８】
一方、シーケンス番号順にストリームデータの読み出しが行われるとき、図８Ｂに示されるように、現在の読み出し位置のアドレスａ1から、ストリームデータｓ１が記録されている領域の開始位置であるアドレスａ2にシークが行われ、アドレスａ3の位置まで読み出しが続けられる。
【００９９】
ストリームデータｓ１の読み出しが終わったとき、アドレスａ3から、ストリームデータｓ２が記録されている領域の開始位置であるアドレスａ8にシークが行われ、アドレスａ9まで読み出しが続けられる。ストリームデータｓ２の読み出しが終わったとき、アドレスａ9から、ストリームデータｓ３が記録されている領域の開始位置であるアドレスａ4にシークが行われ、アドレスａ5まで読み出しが続けられる。
【０１００】
また、ストリームデータｓ３の読み出しが終わったとき、アドレスａ5から、ストリームデータｓ４が記録されている領域の開始位置であるアドレスａ6にシークが行われ、アドレスａ7まで読み出しが続けられる。
【０１０１】
図８Ａと図８Ｂに示される矢印の長さを比較して分かるように、図７に示されるような順番でストリームデータの読み出しが行われるときの方が、シーケンス番号順にストリームデータの読み出しが行われるときよりもシークの量が少なくて済み、その分、同じ量のデータをより速く読み出すことが可能となる。
【０１０２】
ストリームデータｓ２以降に記録されているストリームデータについても同様に、読み出し位置とシーケンス番号に基づいて、HDD１３から読み出される。
【０１０３】
図９は、送信装置１において行われる、ストリームデータの並び替えの例を示す図である。
【０１０４】
図７に示されるようにしてHDD１３から読み出されたストリームデータｓ１，ｓ３，ｓ４，ｓ２は、ホストメモリ１４においてパケット化の処理が施された後、図９に示されるように、その順番でストリームFIFO１６に転送される。
【０１０５】
ネットワークコントローラ１７は、直前の送信タイミングから次の送信タイミングまでの間にストリームFIFO１６に記録されたストリームデータを、図９の点線矢印の先に示されるように、その範囲でシーケンス番号順に並べ、ネットワーク上に送出する。
【０１０６】
図９の例においては、前回の送信タイミングから送信タイミングｔ1までの間にストリームFIFO１６に記録されたストリームデータｓ１，ｓ３，ｓ４，ｓ２がシーケンス番号順に並べられ、ストリームデータｓ１，ｓ２，ｓ３，ｓ４の順番で受信装置２に送信されている。ストリームデータの送信周期は周期Ｔとされている。１つのストリームデータのデータ量が例えば９KByteである場合、１回の送信周期の間に送信されるストリームデータの数は４つであるから、送信レートは３６KByte／Ｔで表される。
【０１０７】
図１０は、図９に示されるようにして送信されたストリームデータに続くストリームデータを対象として送信装置１において行われる、ストリームデータの並び替えの例を示す図である。
【０１０８】
図６に示されるようにしてそれぞれのストリームデータがHDD１３に記録されている場合、ストリームデータｓ１，ｓ３，ｓ４，ｓ２の次には、例えば、ストリームデータｓ７，ｓ５，ｓ９，ｓ６がHDD１３から読み出され、ホストメモリ１４においてパケット化の処理が施された後、図１０に示されるように、その順番でストリームFIFO１６に転送される。
【０１０９】
ネットワークコントローラ１７は、直前の送信タイミングである送信タイミングｔ1から送信タイミングｔ2までの間にストリームFIFO１６に記録されたストリームデータを、図１０の点線矢印の先に示されるように、その範囲でシーケンス番号順に並べ、ネットワーク上に送出する。
【０１１０】
図１０の例においては、送信タイミングｔ1から送信タイミングｔ2までの間にストリームFIFO１６に記録されたストリームデータｓ７，ｓ５，ｓ９，ｓ６がシーケンス番号順に並べられ、ストリームデータｓ５，ｓ６，ｓ７，ｓ９の順番で受信装置２に送信されている。
【０１１１】
図１１は、図１０に示されるようにして送信されたストリームデータに続くストリームデータを対象として送信装置１において行われる、ストリームデータの並び替えの例を示す図である。
【０１１２】
図６に示されるようにしてそれぞれのストリームデータがHDD１３に記録されている場合、ストリームデータｓ７，ｓ５，ｓ９，ｓ６の次には、例えば、ストリームデータｓ１２，ｓ１１，ｓ１０，ｓ８がHDD１３から読み出され、ホストメモリ１４においてパケット化の処理が施された後、図１１に示されるように、その順番でストリームFIFO１６に転送される。
【０１１３】
ネットワークコントローラ１７は、直前の送信タイミングである送信タイミングｔ2から送信タイミングｔ3までの間にストリームFIFO１６に記録されたストリームデータを、図１１の点線矢印の先に示されるように、その範囲でシーケンス番号順に並べ、ネットワーク上に送出する。
【０１１４】
図１１の例においては、送信タイミングｔ2から送信タイミングｔ3までの間にストリームFIFO１６に記録されたストリームデータｓ１２，ｓ１１，ｓ１０，ｓ８がシーケンス番号順に並べられ、ストリームデータｓ８，ｓ１０，ｓ１１，ｓ１２の順番で受信装置２に送信されている。
【０１１５】
以上のような順番で送信装置１から送信されたストリームデータは、受信装置２のネットワークコントローラ２１により受信され、受信された順番で、ストリームバッファ２２に記録される。
【０１１６】
図１２は、ストリームバッファ２２に記録されたストリームデータを対象として受信装置２において行われる、ストリームデータの並び替えの例を示す図である。
【０１１７】
例えば、図９乃至図１１に示されるような順番でストリームデータが送信装置１から送信されてきた場合、それらのデータをストリームバッファ２２に記録しておくだけの再生までの遅延が許容されているときには、受信装置２のストリームバッファ２２には、図１２に示されるように、ストリームデータｓ１，ｓ２，ｓ３，ｓ４，ｓ５，ｓ６，ｓ７，ｓ９，ｓ８，ｓ１０，ｓ１１，ｓ１２がその順番で記録される。
【０１１８】
ネットワークコントローラ２１は、許容される遅延時間の間にストリームバッファ２２に記録されたストリームデータをシーケンス番号順に並べ替え、ホストメモリ２３に記録させる。
【０１１９】
図１２の例においては、許容される遅延時間は２Ｔ＋ｔｐ（ｔは１つのストリームデータの期間、ｐは１回の送信周期の間に送信されるストリームデータの数）とされており、その時間の間にストリームバッファ２２に記録されたストリームデータのうち、送信装置１においてシーケンス番号順に並び替えきれなかったストリームデータｓ８とｓ９の位置が入れ替えられ、シーケンス番号順に並ぶストリームデータｓ１，ｓ２，ｓ３，ｓ４，ｓ５，ｓ６，ｓ７，ｓ９，ｓ８，ｓ１０，ｓ１１，ｓ１２がホストメモリ２３に出力されている。
【０１２０】
ホストメモリ２３に記録されたストリームデータは、パケットの解析が行われた後、再生対象のデータとして再生部２５に出力され、再生される。
【０１２１】
以上のようにして、送信装置１のHDD１３に記録されていたストリームデータが受信装置２に送信され、再生対象のデータとして用いられる。
【０１２２】
次に、送信装置１と受信装置２の処理についてフローチャートを参照して説明する。
【０１２３】
はじめに、図１３のフローチャートを参照して、ストリームデータをHDD１３に記録する送信装置１の処理について説明する。
【０１２４】
ステップＳ１において、録画部１１は、例えばユーザにより指定されたテレビジョン番組の録画を行い、番組の映像、音声を表すストリームデータをHDDコントローラ１２に出力する。
【０１２５】
ステップＳ２において、HDDコントローラ１２の書き込み部１２Ａは、録画部１１から供給されたストリームデータにシーケンス番号を設定し、シーケンス番号を設定したストリームデータをシーケンス番号順にHDD１３に出力して記録させる。
【０１２６】
ステップＳ３において、書き込み部１２Ａは、設定したシーケンス番号と、それぞれのストリームデータが記録されたHDD１３の領域の物理アドレスをテーブルＴに書き込むことによって管理し、処理を終了させる。
【０１２７】
次に、図１４のフローチャートを参照して、ストリームデータを受信装置２に送信する送信装置１の処理について説明する。
【０１２８】
ステップＳ１１において、HDDコントローラ１２の読み出し部１２Ｂは、テーブルＴの記述に基づいて、HDD１３の現在の読み出し位置を基準としてシークにかかる時間の短い位置に記録されているストリームデータであって、かつ、シーケンス番号が小さいストリームデータを読み出し対象として決定する。
【０１２９】
ステップＳ１２において、読み出し部１２Ｂは、ステップＳ１１で読み出し対象として決定したストリームデータをHDD１３から読み出し、ホストメモリ１４に記録させる。
【０１３０】
ステップＳ１３において、ホストCPU１５は、HDD１３から読み出され、ホストメモリ１４に記録されたストリームデータを、所定のプロトコルに従ってパケット化し、パケット化したストリームデータをストリームFIFO１６に記録させる。
【０１３１】
ステップＳ１４において、ネットワークコントローラ１７は、直前の送信タイミングから次の送信タイミングまでの間にストリームFIFO１６に記録されたストリームデータを、その範囲でシーケンス番号順に並べ、受信装置２に送信する。
【０１３２】
以上の処理が繰り返されることによって、送信対象のストリームを構成する全てのストリームデータが受信装置２に送信される。
【０１３３】
次に、図１５のフローチャートを参照して、送信装置１から送信されてきたストリームデータを受信する受信装置２の処理について説明する。
【０１３４】
ステップＳ２１において、ネットワークコントローラ２１の受信部２１Ａは、ネットワークを介して送信装置１から送信されてきたストリームデータを受信し、受信した順にストリームバッファ２２に記録させる。
【０１３５】
ステップＳ２２において、転送部２１Ｂは、ストリームバッファ２２に記録されているストリームデータを所定のタイミングで読み出し、読み出したストリームデータを、シーケンス番号順に並び替え、ホストメモリ２３に出力する。
【０１３６】
ステップＳ２３において、ホストCPU２４は、ホストメモリ２３に記録されたストリームデータのパケットを解析し、解析して得られたストリームデータを再生対象のデータとして再生部２５に出力する。
【０１３７】
ステップＳ２４において、再生部２５は、ホストメモリ２３から供給されたストリームデータを再生し、再生して得られたテレビジョン番組の映像を図示せぬディスプレイに表示させる。また、再生部２５は、再生して得られたテレビジョン番組の音声を図示せぬスピーカから出力させる。
【０１３８】
以上の処理により、HDD１３に記録されているストリームデータの効率的な送受信が実現される。
【０１３９】
図１６は、以上のようにしてストリームデータをHDDから読み出し、ネットワーク上に送出したときと、シーケンス番号順にストリームデータをHDDから読み出し、ネットワーク上に送出したときの効果の違いを示す図である。HDDには、図６に示されるような位置にそれぞれのストリームデータが記録されているものとする。
【０１４０】
図１６においては、より右方に示されるストリームデータが、時間的に前に読み出され、送信されたデータである。斜線を付して示すストリームデータは、シーケンス番号順にHDDから読み出され、ネットワーク上に送出されたストリームデータを表す。
【０１４１】
図１６の右上に示されるように、シーケンス番号順に読み出しが行われた場合には、送信を開始するタイミングｔ11までにストリームデータｓ１とｓ２しかHDDから読み出すことができないのに対し、送信装置１において行われるように読み出しが行われた場合には、同じタイミングｔ11までに、シーケンス番号順にはなっていないものの、ストリームデータｓ１，ｓ３，ｓ４，ｓ２の４つのストリームデータを読み出すことができる。
【０１４２】
また、図１６の右下に示されるように、読み出されたストリームデータの並べ替えが行われることによって、１回目の送信周期Ｔの期間においては、ストリームデータｓ１，ｓ２，ｓ３，ｓ４を送信することができる。一方、シーケンス番号順に読み出しが行われた場合には、タイミングｔ11までにストリームデータｓ１とｓ２しか読み出されていないから、１回目の送信周期Ｔの期間においては、ストリームデータｓ１とｓ２しか受信装置２に向けて送信されない。
【０１４３】
このようなストリームデータの読み出しと送信が繰り返されることによって、ストリームデータｓ１乃至ｓ１２からなる同じストリームを対象にした場合であっても、ストリームデータｓ１２までの送信が終わるタイミングに差が現れ、送信装置１のようにしてストリームデータをHDDから読み出し、ネットワーク上に送出したときの方が、シーケンス番号順にストリームデータをHDDから読み出し、ネットワーク上に送出したときよりも先にストリームデータの送信が終わることになる。
【０１４４】
なお、以上においては、HDDから読み出されたデータを対象にする場合について説明したが、同様の処理は、光ディスクなどのように、データの記録位置によっては読み出しに時間がかかってしまうディスク状の各種の記録媒体から読み出されるデータを対象にする場合にも適用することができる。
【０１４５】
また、以上においては、送受信の対象になるデータがテレビジョン番組のストリームを構成するデータであるものとしたが、ディスク状の記録媒体に記録されているデータであれば、様々なデータを対象として送受信を行う場合にも適用することができる。
【０１４６】
上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラム記録媒体からインストールされる。
【０１４７】
図１７は、上述した一連の処理をプログラムにより実行するパーソナルコンピュータの構成の例を示すブロック図である。
【０１４８】
CPU(Central Processing Unit)１０１は、ROM(Read Only Memory)１０２、または記憶部１０８に記憶されているプログラムに従って各種の処理を実行する。RAM(Random Access Memory)１０３には、CPU１０１が実行するプログラムやデータなどが適宜記憶される。これらのCPU１０１、ROM１０２、およびRAM１０３は、バス１０４により相互に接続されている。
【０１４９】
CPU１０１にはまた、バス１０４を介して入出力インターフェース１０５が接続されている。入出力インターフェース１０５には、キーボード、マウス、マイクロホンなどよりなる入力部１０６、ディスプレイ、スピーカなどよりなる出力部１０７が接続されている。CPU１０１は、入力部１０６から入力される指令に対応して各種の処理を実行する。そして、CPU１０１は、処理の結果を出力部１０７に出力する。
【０１５０】
入出力インターフェース１０５に接続されている記憶部１０８は、例えばハードディスクからなり、CPU１０１が実行するプログラムや各種のデータを記憶する。通信部１０９は、インターネットやローカルエリアネットワークなどのネットワークを介して外部の装置と通信する。
【０１５１】
入出力インターフェース１０５に接続されているドライブ１１０は、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア１１１が装着されたとき、それらを駆動し、そこに記録されているプログラムやデータなどを取得する。取得されたプログラムやデータは、必要に応じて記憶部１０８に転送され、記憶される。
【０１５２】
コンピュータにインストールされ、コンピュータによって実行可能な状態とされるプログラムを格納するプログラム記録媒体は、図１７に示すように、磁気ディスク（フレキシブルディスクを含む）、光ディスク（CD-ROM(Compact Disc-Read Only Memory)，DVD(Digital Versatile Disc)を含む）、光磁気ディスク、もしくは半導体メモリなどよりなるパッケージメディアであるリムーバブルメディア１１１、または、プログラムが一時的もしくは永続的に格納されるROM１０２や、記憶部１０８を構成するハードディスクなどにより構成される。プログラム記録媒体へのプログラムの格納は、必要に応じてルータ、モデムなどのインタフェースである通信部１０９を介して、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の通信媒体を利用して行われる。
【０１５３】
なお、本明細書において、プログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【図面の簡単な説明】
【０１５４】
【図１】本発明の一実施形態に係る送受信システムの構成例を示すブロック図である。
【図２】送信装置のHDDコントローラの構成例を示すブロック図である。
【図３】受信装置のネットワークコントローラの構成例を示すブロック図である。
【図４】ストリームデータの並び替えの例を示す図である。
【図５】送信装置において行われるストリームデータの記録の例を示す図である。
【図６】ストリームデータが記録された領域の例を示す図である。
【図７】送信装置において行われるストリームデータの読み出しの例を示す図である。
【図８】読み出し位置の切り替えについて示す図である。
【図９】送信装置において行われるストリームデータの並び替えの例を示す図である。
【図１０】送信装置において行われるストリームデータの並び替えの他の例を示す図である。
【図１１】送信装置において行われるストリームデータの並び替えのさらに他の例を示す図である。
【図１２】受信装置において行われるストリームデータの並び替えの例を示す図である。
【図１３】送信装置の記録処理について説明するフローチャートである。
【図１４】送信装置の送信処理について説明するフローチャートである。
【図１５】受信装置の受信処理について説明するフローチャートである。
【図１６】送信装置により行われるストリームデータの読み出しと送信の効果について示す図である。
【図１７】パーソナルコンピュータの構成例を示すブロック図である。
【符号の説明】
【０１５５】
１  送信装置，  ２  受信装置，  １２  HDDコントローラ，  １２Ａ  書き込み部，  １２Ｂ  読み出し部，  １３  HDD，  １６  ストリームFIFO，  １７  ネットワークコントローラ，  ２１  ネットワークコントローラ，  ２１Ａ  受信部，  ２１Ｂ  転送部，  ２２  ストリームバッファ
【図１】
2008010037.tif 000003
【図２】
2008010037.tif 000004
【図３】
2008010037.tif 000005
【図４】
2008010037.tif 000006
【図５】
2008010037.tif 000007
【図６】
2008010037.tif 000008
【図７】
2008010037.tif 000009
【図８】
2008010037.tif 000010
【図９】
2008010037.tif 000011
【図１０】
2008010037.tif 000012
【図１１】
2008010037.tif 000013
【図１２】
2008010037.tif 000014
【図１３】
2008010037.tif 000015
【図１４】
2008010037.tif 000016
【図１５】
2008010037.tif 000017
【図１６】
2008010037.tif 000018
【図１７】
2008010037.tif 000019