米国特許情報 | 欧州特許情報 | 国際公開(PCT)情報 | Google の米国特許検索
 
     特許分類
A 農業
B 衣類
C 家具
D 医学
E スポ−ツ;娯楽
F 加工処理操作
G 机上付属具
H 装飾
I 車両
J 包装;運搬
L 化学;冶金
M 繊維;紙;印刷
N 固定構造物
O 機械工学
P 武器
Q 照明
R 測定; 光学
S 写真;映画
T 計算機;電気通信
U 核技術
V 電気素子
W 発電
X 楽器;音響


  ホーム -> 計算機;電気通信 -> 日本電気株式会社

発明の名称 ストリーム配信システム
発行国 日本国特許庁(JP)
公報種別 公開特許公報(A)
公開番号 特開2003−8640(P2003−8640A)
公開日 平成15年1月10日(2003.1.10)
出願番号 特願2001−186032(P2001−186032)
出願日 平成13年6月20日(2001.6.20)
代理人 【識別番号】100097113
【弁理士】
【氏名又は名称】堀 城之
【テーマコード(参考)】
5C064
5K030
【Fターム(参考)】
5C064 BA01 BB05 BC11 BC16 BC20 BD08 BD09 BD14 
5K030 HA08 HB21 LC18 MB06
発明者 嶋田 昌生
要約 課題
ネットワークのバンド幅にストリームデータレートを対応させるために、送信側及び中継装置が能動的にマルチメディアストリームを部分的に破棄する。

解決手段
送信装置10から送信されたマルチメディアストリームは、ネットワークA11、中継装置A12、ネットワークB13、中継装置B14、ネットワークC15を介して、受信装置16に供給される。送信装置10、中継装置A12、中継装置B14は、受信装置16から提供される上記マルチメディアストリームの受信装置16への到着時刻に基づいて、ネットワークA11、B13、C15のバンド幅に応じて、マルチメディアストリームを部分的に破棄し、受信装置16は破棄されていないストリームをデコードする。
特許請求の範囲
【請求項1】 ネットワークにマルチメディアストリームを送信するストリーム送信装置と、前記マルチメディアストリームを受信するストリーム受信装置と、前記ストリーム送信装置および前記ストリーム受信装置の間でストリーム伝送の中継を行うストリーム中継装置とが前記ネットワークを介して接続されるストリーム配信システムであって、前記ストリーム送信装置は、前記ネットワークを介して前記マルチメディアストリームを送信してから、前記受信装置が前記マルチメディアストリームを受信するまでのネットワーク遅延時間を検出するネットワーク遅延時間検出手段と、前記ストリーム受信装置による前記マルチメディアストリームの受信が、前記ストリーム受信装置による前記マルチメディアストリームの再生に間に合うか否かを判定する第1の判定手段と、前記第1の判定手段により、前記ストリーム受信装置による前記マルチメディアストリームの受信が、前記ストリーム受信装置による前記マルチメディアストリームの再生に間に合わないと判定された場合、前記マルチメディアストリームを部分的に廃棄し、残りの前記マルチメディアストリームを前記ネットワークを介して送信し、前記マルチメディアストリームのデータレートを前記ネットワークのバンド幅に対応させるように制御する第1の制御手段とを備え、前記ストリーム中継装置は、前記マルチメディアストリームの再生時刻を検出するストリーム再生時刻検出手段と、前記ストリーム受信装置による前記マルチメディアストリームの受信が、前記ストリーム受信装置による前記マルチメディアストリームの再生に間に合うか否かを判定する第2の判定手段と、前記第2の判定手段により、前記ストリーム受信装置による前記マルチメディアストリームの受信が、前記ストリーム受信装置による前記マルチメディアストリームの再生に間に合わないと判定された場合、前記マルチメディアストリームを部分的に廃棄し、残りの前記マルチメディアストリームを前記ネットワークを介して送信し、前記マルチメディアストリームのデータレートを前記ネットワークのバンド幅に対応させるように制御する第2の制御手段とを備え、前記ストリーム受信装置は、前記ネットワークを介して受信した前記マルチメディアストリームから、前記マルチメディアストリームのデコード単位の一部が、前記ストリーム送信装置、または前記ストリーム中継装置によって破棄されたか否かを検知する検知手段と、前記ネットワークを介して受信した前記マルチメディアストリームを構成する各デコード単位のうち、前記デコード単位の一部が、前記ストリーム送信装置、または前記ストリーム中継装置によって破棄されたことが検知されていないものをデコードするデコード手段とを備えることを特徴とするストリーム配信システム。
【請求項2】 前記ネットワーク遅延時間検出手段は、前記マルチメディアストリームが前記ネットワークを介して前記ストリーム受信装置に送信された時刻と、前記マルチメディアストリームが前記ネットワークを介して前記ストリーム受信装置に届いた時刻とを比較することにより、前記ネットワーク遅延時間を検出し、前記第1の判定手段により、前記マルチメディアストリーム自身が持つ再生時刻情報に基づいて、前記ストリーム送信装置から送信される前記マルチメディアストリームの前記ストリーム受信装置への到着予想時刻が、前記再生時刻情報によって示される再生時刻に対して、予め規定された基準時間以上早くないと判定された場合、前記第1の制御手段は、前記マルチメディアストリームを部分的に破棄し、残りの前記マルチメディアストリームを前記ネットワークを介して前記ストリーム受信装置に送信するように制御することを特徴とする請求項1に記載のストリーム配信システム。
【請求項3】 前記第2の判定手段により、前記マルチメディアストリーム自身が持つ再生時刻情報と、前記ストリーム中継装置の内部時刻情報とが比較され、前記ストリーム中継装置の内部時刻情報が、前記再生時刻情報によって示される再生時刻に対して、予め規定された基準時間以上早くないと判定された場合、前記第2の制御手段は、前記マルチメディアストリームを部分的に破棄し、残りの前記マルチメディアストリームを前記ネットワークを介して前記ストリーム受信装置に送信するように制御することを特徴とする請求項1または2に記載のストリーム配信システム。
【請求項4】 前記ストリーム受信装置は、前記ストリーム送信装置から前記ネットワークを介して送信された前記マルチメディアストリームが到着した時刻を示す到着時刻情報を、前記ストリーム送信装置に送信する到着時刻情報送信手段と、前記マルチメディアストリームが部分的に破棄されたことを検出するストリーム部分破棄検出手段と、前記ストリーム送信装置、または前記ストリーム中継装置において破棄された部分が含まれるデコード単位を破棄し、前記マルチメディアストリームのデータレートを前記ネットワークのバンド幅に対応させるように制御する第3の制御手段とをさらに備えることを特徴とする請求項1,2または3に記載のストリーム配信システム。
【請求項5】 ネットワークを介してストリーム受信装置にマルチメディアストリームを送信するストリーム送信装置であって、前記マルチメディアストリームを前記ネットワークを介して送信してから、前記ネットワークに接続された前記ストリーム受信装置が前記マルチメディアストリームを受信するまでのネットワーク遅延時間を検出するネットワーク遅延時間検出手段と、前記ストリーム受信装置による前記マルチメディアストリームの受信が、前記マルチメディアストリームの再生に間に合うか否かを判定する判定手段と、前記判定手段により、前記ストリーム受信装置による前記マルチメディアストリームの受信が、前記マルチメディアストリームの再生に間に合わないと判定された場合、前記マルチメディアストリームを部分的に廃棄し、残りの前記マルチメディアストリームを前記ネットワークを介して送信し、前記ネットワークのバンド幅に対応させるように制御する制御手段とを備え、前記ネットワーク遅延時間検出手段は、前記マルチメディアストリームを前記ネットワークを介して伝送するための所定のストリーム伝送プロトコルのパケットを送信した時刻と、前記パケットが前記ストリーム受信装置に届いた時刻とを比較することにより、前記ネットワーク遅延時間を検出し、前記判定手段により、前記マルチメディアストリーム自身が持つ再生時刻情報に基づいて、前記ストリーム送信装置から送信された前記パケットの前記ストリーム受信装置への到着予想時刻が、前記再生時刻情報によって示される再生時刻に対して所定の基準時間以上早くないと判定された場合、前記制御手段は、前記マルチメディアストリームを部分的に破棄し、残りの前記マルチメディアストリームを前記ネットワークを介して送信し、前記ネットワークのバンド幅に対応させるように制御することを特徴とするストリーム送信装置。
【請求項6】 ストリーム送信装置からネットワークを介して送信されたマルチメディアストリームをストリーム受信装置に中継するストリーム中継装置であって、前記マルチメディアストリームを中継した時刻に基づいて、前記マルチメディアストリームの前記ストリーム受信装置への中継が、前記ストリーム受信装置による前記マルチメディアストリームの再生に間に合うか否かを判定するストリーム中継時刻判定手段と、前記ストリーム中継時刻判定手段の判定結果に応じて、前記マルチメディアストリームを部分的に破棄し、残りの前記マルチメディアストリームを前記ネットワークを介して送信する制御手段とを備え、前記ストリーム中継時刻判定手段により、前記マルチメディアストリーム自身、または前記マルチメディアストリームのストリーム送信プロトコルが持つ再生時刻情報と、前記ストリーム中継装置の内部時刻を示す内部時刻情報とが比較され、前記再生時刻情報によって示される再生時刻に対して、前記内部時刻情報によって示される前記内部時刻が、予め規定された基準時間以上早くないと判定された場合、前記制御手段は、前記マルチメディアストリームを部分的に破棄し、残りの前記マルチメディアストリームを前記ネットワークを介して送信し、前記ネットワークのバンド幅に対応させるように制御することを特徴とするストリーム中継装置。
【請求項7】 ストリーム送信装置からネットワークおよびストリーム中継装置を介して送信されたマルチメディアストリームを受信し、再生するストリーム受信装置であって、前記ストリーム送信装置から前記ネットワークを介して送信された前記マルチメディアストリームが到着した時刻を示す到着時刻情報を、前記ストリーム送信装置に送信する到着時刻情報送信手段と、前記マルチメディアストリームが部分的に破棄されたことを検出するストリーム部分破棄検出手段と、前記ストリーム送信装置、または前記ストリーム中継装置において破棄された部分が含まれるデコード単位を破棄し、前記マルチメディアストリームのデータレートを前記ネットワークのバンド幅に対応させるように制御する第3の制御手段とを備えることを特徴とするストリーム受信装置。
【請求項8】 ネットワークにマルチメディアストリームを送信するストリーム送信装置と、前記マルチメディアストリームを受信するストリーム受信装置と、前記ストリーム送信装置および前記ストリーム受信装置の間でストリーム伝送の中継を行うストリーム中継装置とが前記ネットワークを介して接続されるストリーム配信システムにおけるストリーム配信方法であって、前記ストリーム送信装置は、前記ネットワークを介して前記マルチメディアストリームを送信してから、前記受信装置が前記マルチメディアストリームを受信するまでのネットワーク遅延時間を検出するネットワーク遅延時間検出ステップと、前記ストリーム受信装置による前記マルチメディアストリームの受信が、前記ストリーム受信装置による前記マルチメディアストリームの再生に間に合うか否かを判定する第1の判定ステップと、前記第1の判定ステップにおいて、前記ストリーム受信装置による前記マルチメディアストリームの受信が、前記ストリーム受信装置による前記マルチメディアストリームの再生に間に合わないと判定された場合、前記マルチメディアストリームを部分的に廃棄し、残りの前記マルチメディアストリームを前記ネットワークを介して送信し、前記マルチメディアストリームのデータレートを前記ネットワークのバンド幅に対応させるように制御する第1の制御ステップとを備え、前記ストリーム中継装置は、前記マルチメディアストリームの再生時刻を検出するストリーム再生時刻検出ステップと、前記ストリーム受信装置による前記マルチメディアストリームの受信が、前記ストリーム受信装置による前記マルチメディアストリームの再生に間に合うか否かを判定する第2の判定ステップと、前記第2の判定ステップにおいて、前記ストリーム受信装置による前記マルチメディアストリームの受信が、前記ストリーム受信装置による前記マルチメディアストリームの再生に間に合わないと判定された場合、前記マルチメディアストリームを部分的に廃棄し、残りの前記マルチメディアストリームを前記ネットワークを介して送信し、前記マルチメディアストリームのデータレートを前記ネットワークのバンド幅に対応させるように制御する第2の制御ステップとを備え、前記ストリーム受信装置は、前記ネットワークを介して受信した前記マルチメディアストリームから、前記マルチメディアストリームのデコード単位の一部が、前記ストリーム送信装置、または前記ストリーム中継装置によって破棄されたか否かを検知する検知ステップと、前記ネットワークを介して受信した前記マルチメディアストリームを構成する各デコード単位のうち、前記デコード単位の一部が、前記ストリーム送信装置、または前記ストリーム中継装置によって破棄されたことが検知されていないものをデコードするデコードステップとを備えることを特徴とするストリーム配信方法。
【請求項9】 ネットワークにマルチメディアストリームを送信するストリーム送信装置と、前記マルチメディアストリームを受信するストリーム受信装置と、前記ストリーム送信装置および前記ストリーム受信装置の間でストリーム伝送の中継を行うストリーム中継装置とが前記ネットワークを介して接続されるストリーム配信システムを制御するストリーム配信プログラムであって、前記ストリーム送信装置に、前記ネットワークを介して前記マルチメディアストリームを送信してから、前記受信装置が前記マルチメディアストリームを受信するまでのネットワーク遅延時間を検出するネットワーク遅延時間検出ステップと、前記ストリーム受信装置による前記マルチメディアストリームの受信が、前記ストリーム受信装置による前記マルチメディアストリームの再生に間に合うか否かを判定する第1の判定ステップと、前記第1の判定ステップにおいて、前記ストリーム受信装置による前記マルチメディアストリームの受信が、前記ストリーム受信装置による前記マルチメディアストリームの再生に間に合わないと判定された場合、前記マルチメディアストリームを部分的に廃棄し、残りの前記マルチメディアストリームを前記ネットワークを介して送信し、前記マルチメディアストリームのデータレートを前記ネットワークのバンド幅に対応させるように制御する第1の制御ステップとを実行させ、前記ストリーム中継装置に、前記マルチメディアストリームの再生時刻を検出するストリーム再生時刻検出ステップと、前記ストリーム受信装置による前記マルチメディアストリームの受信が、前記ストリーム受信装置による前記マルチメディアストリームの再生に間に合うか否かを判定する第2の判定ステップと、前記第2の判定ステップにおいて、前記ストリーム受信装置による前記マルチメディアストリームの受信が、前記ストリーム受信装置による前記マルチメディアストリームの再生に間に合わないと判定された場合、前記マルチメディアストリームを部分的に廃棄し、残りの前記マルチメディアストリームを前記ネットワークを介して送信し、前記マルチメディアストリームのデータレートを前記ネットワークのバンド幅に対応させるように制御する第2の制御ステップとを実行させ、前記ストリーム受信装置に、前記ネットワークを介して受信した前記マルチメディアストリームから、前記マルチメディアストリームのデコード単位の一部が、前記ストリーム送信装置、または前記ストリーム中継装置によって破棄されたか否かを検知する検知ステップと、前記ネットワークを介して受信した前記マルチメディアストリームを構成する各デコード単位のうち、前記デコード単位の一部が、前記ストリーム送信装置、または前記ストリーム中継装置によって破棄されたことが検知されていないものをデコードするデコードステップとを実行させることを特徴とするストリーム配信プログラム。
発明の詳細な説明
【0001】
【発明の属する技術分野】本発明は、ストリーム配信システムに関し、特に、データファイル全体をダウンロードしなくとも、一部のデータファイルを読み込んだ時点で再生が可能な音声や動画などのストリームデータを配信するストリーム配信システムに関する。
【0002】
【従来の技術】音声データや動画データなどのデータファイルを、インターネットなどのネットワーク上でダウンロードしながらリアルタイムに再生することは、「ストリーミング」と呼ばれる。また、このように、ダウンロードと再生を同時に行うことができるデータ形式のデータはストリームデータと呼ばれている。
【0003】音声データや動画データなどは、ハードディスクなどの記憶媒体に一旦ダウンロードしてから再生されるのが一般的である。そのため、ユーザは、音声データや動画データなどのデータファイル全体がダウンロードされるまで待っていなければならない。一方、音声や動画などのストリームデータは、ダウンロードと再生を略同時に行うことができるので、ユーザは、データファイル全体をダウンロードするまで再生を待つ必要はなくなる。
【0004】従来のストリーム配信方法では、受信装置側は、送信装置側から送信されてきた音声や動画などのストリームデータを受信した時点で、直ちに、受信したストリームデータをデコードして再生するのではなく、受信した一定量のストリームデータをバッファメモリに蓄積してから、蓄積した一定量のストリームデータをデコードして再生する。
【0005】受信装置側でデコードを開始した後、送信装置の処理能力不足、又はネットワークのバンド幅不足等の原因により、受信装置でストリームデータのアンダーフローが発生しないように、受信装置は送信装置に対して、適宜、ストリームデータを部分的に破棄してストリームデータレートを低減するよう指示を出している。
【0006】
【発明が解決しようとする課題】しかしながら、従来の方法では、送信装置は、受信装置からの指示を受け取ってから、受動的にストリームデータレートを低減するため、ネットワークのバンド幅に応じてストリームデータレートを対応させるときのタイムラグが大きい。また、一度ネットワークに送出されたストリームデータは、送信先(受信装置側)で受信されるまでネットワーク上に存在し続け、ネットワーク上のリソースを無駄に消費する場合があるという欠点があった。
【0007】本発明はこのような状況に鑑みてなされたものであり、ネットワークのバンド幅にストリームデータレートを対応させるときのタイムラグを小さくするとともに、ネットワーク上のリソースを有効利用することができるようにするものである。
【0008】
【課題を解決するための手段】請求項1に記載のストリーム配信システムは、ネットワークにマルチメディアストリームを送信するストリーム送信装置と、マルチメディアストリームを受信するストリーム受信装置と、ストリーム送信装置およびストリーム受信装置の間でストリーム伝送の中継を行うストリーム中継装置とがネットワークを介して接続されるストリーム配信システムであって、ストリーム送信装置は、ネットワークを介してマルチメディアストリームを送信してから、受信装置がマルチメディアストリームを受信するまでのネットワーク遅延時間を検出するネットワーク遅延時間検出手段と、ストリーム受信装置によるマルチメディアストリームの受信が、ストリーム受信装置によるマルチメディアストリームの再生に間に合うか否かを判定する第1の判定手段と、第1の判定手段により、ストリーム受信装置によるマルチメディアストリームの受信が、ストリーム受信装置によるマルチメディアストリームの再生に間に合わないと判定された場合、マルチメディアストリームを部分的に廃棄し、残りのマルチメディアストリームをネットワークを介して送信し、マルチメディアストリームのデータレートをネットワークのバンド幅に対応させるように制御する第1の制御手段とを備え、ストリーム中継装置は、マルチメディアストリームの再生時刻を検出するストリーム再生時刻検出手段と、ストリーム受信装置によるマルチメディアストリームの受信が、ストリーム受信装置によるマルチメディアストリームの再生に間に合うか否かを判定する第2の判定手段と、第2の判定手段により、ストリーム受信装置によるマルチメディアストリームの受信が、ストリーム受信装置によるマルチメディアストリームの再生に間に合わないと判定された場合、マルチメディアストリームを部分的に廃棄し、残りのマルチメディアストリームをネットワークを介して送信し、マルチメディアストリームのデータレートをネットワークのバンド幅に対応させるように制御する第2の制御手段とを備え、ストリーム受信装置は、ネットワークを介して受信したマルチメディアストリームから、マルチメディアストリームのデコード単位の一部が、ストリーム送信装置、またはストリーム中継装置によって破棄されたか否かを検知する検知手段と、ネットワークを介して受信したマルチメディアストリームを構成する各デコード単位のうち、デコード単位の一部が、ストリーム送信装置、またはストリーム中継装置によって破棄されたことが検知されていないものをデコードするデコード手段とを備えることを特徴とする。また、ネットワーク遅延時間検出手段は、マルチメディアストリームがネットワークを介してストリーム受信装置に送信された時刻と、マルチメディアストリームがネットワークを介してストリーム受信装置に届いた時刻とを比較することにより、ネットワーク遅延時間を検出し、第1の判定手段により、マルチメディアストリーム自身が持つ再生時刻情報に基づいて、ストリーム送信装置から送信されるマルチメディアストリームのストリーム受信装置への到着予想時刻が、再生時刻情報によって示される再生時刻に対して、予め規定された基準時間以上早くないと判定された場合、第1の制御手段は、マルチメディアストリームを部分的に破棄し、残りのマルチメディアストリームをネットワークを介してストリーム受信装置に送信するように制御するようにすることができる。また、第2の判定手段により、マルチメディアストリーム自身が持つ再生時刻情報と、ストリーム中継装置の内部時刻情報とが比較され、ストリーム中継装置の内部時刻情報が、再生時刻情報によって示される再生時刻に対して、予め規定された基準時間以上早くないと判定された場合、第2の制御手段は、マルチメディアストリームを部分的に破棄し、残りのマルチメディアストリームをネットワークを介してストリーム受信装置に送信するように制御するようにすることができる。また、ストリーム受信装置は、ストリーム送信装置からネットワークを介して送信されたマルチメディアストリームが到着した時刻を示す到着時刻情報を、ストリーム送信装置に送信する到着時刻情報送信手段と、マルチメディアストリームが部分的に破棄されたことを検出するストリーム部分破棄検出手段と、ストリーム送信装置、またはストリーム中継装置において破棄された部分が含まれるデコード単位を破棄し、マルチメディアストリームのデータレートをネットワークのバンド幅に対応させるように制御する第3の制御手段とをさらに備えるようにすることができる。請求項5に記載のストリーム送信装置は、ネットワークを介してストリーム受信装置にマルチメディアストリームを送信するストリーム送信装置であって、マルチメディアストリームをネットワークを介して送信してから、ネットワークに接続されたストリーム受信装置がマルチメディアストリームを受信するまでのネットワーク遅延時間を検出するネットワーク遅延時間検出手段と、ストリーム受信装置によるマルチメディアストリームの受信が、マルチメディアストリームの再生に間に合うか否かを判定する判定手段と、判定手段により、ストリーム受信装置によるマルチメディアストリームの受信が、マルチメディアストリームの再生に間に合わないと判定された場合、マルチメディアストリームを部分的に廃棄し、残りのマルチメディアストリームをネットワークを介して送信し、ネットワークのバンド幅に対応させるように制御する制御手段とを備え、ネットワーク遅延時間検出手段は、マルチメディアストリームをネットワークを介して伝送するための所定のストリーム伝送プロトコルのパケットを送信した時刻と、パケットがストリーム受信装置に届いた時刻とを比較することにより、ネットワーク遅延時間を検出し、判定手段により、マルチメディアストリーム自身が持つ再生時刻情報に基づいて、ストリーム送信装置から送信されたパケットのストリーム受信装置への到着予想時刻が、再生時刻情報によって示される再生時刻に対して所定の基準時間以上早くないと判定された場合、制御手段は、マルチメディアストリームを部分的に破棄し、残りのマルチメディアストリームをネットワークを介して送信し、ネットワークのバンド幅に対応させるように制御することを特徴とする。請求項6に記載のストリーム中継装置は、ストリーム送信装置からネットワークを介して送信されたマルチメディアストリームをストリーム受信装置に中継するストリーム中継装置であって、マルチメディアストリームを中継した時刻に基づいて、マルチメディアストリームのストリーム受信装置への中継が、ストリーム受信装置によるマルチメディアストリームの再生に間に合うか否かを判定するストリーム中継時刻判定手段と、ストリーム中継時刻判定手段の判定結果に応じて、マルチメディアストリームを部分的に破棄し、残りのマルチメディアストリームをネットワークを介して送信する制御手段とを備え、ストリーム中継時刻判定手段により、マルチメディアストリーム自身、またはマルチメディアストリームのストリーム送信プロトコルが持つ再生時刻情報と、ストリーム中継装置の内部時刻を示す内部時刻情報とが比較され、再生時刻情報によって示される再生時刻に対して、内部時刻情報によって示される内部時刻が、予め規定された基準時間以上早くないと判定された場合、制御手段は、マルチメディアストリームを部分的に破棄し、残りのマルチメディアストリームをネットワークを介して送信し、ネットワークのバンド幅に対応させるように制御するようにすることができる。請求項7に記載のストリーム受信装置は、ストリーム送信装置からネットワークおよびストリーム中継装置を介して送信されたマルチメディアストリームを受信し、再生するストリーム受信装置であって、ストリーム送信装置からネットワークを介して送信されたマルチメディアストリームが到着した時刻を示す到着時刻情報を、ストリーム送信装置に送信する到着時刻情報送信手段と、マルチメディアストリームが部分的に破棄されたことを検出するストリーム部分破棄検出手段と、ストリーム送信装置、またはストリーム中継装置において破棄された部分が含まれるデコード単位を破棄し、マルチメディアストリームのデータレートをネットワークのバンド幅に対応させるように制御する第3の制御手段とを備えることを特徴とする。請求項8に記載のストリーム配信方法は、ネットワークにマルチメディアストリームを送信するストリーム送信装置と、マルチメディアストリームを受信するストリーム受信装置と、ストリーム送信装置およびストリーム受信装置の間でストリーム伝送の中継を行うストリーム中継装置とがネットワークを介して接続されるストリーム配信システムにおけるストリーム配信方法であって、ストリーム送信装置は、ネットワークを介してマルチメディアストリームを送信してから、受信装置がマルチメディアストリームを受信するまでのネットワーク遅延時間を検出するネットワーク遅延時間検出ステップと、ストリーム受信装置によるマルチメディアストリームの受信が、ストリーム受信装置によるマルチメディアストリームの再生に間に合うか否かを判定する第1の判定ステップと、第1の判定ステップにおいて、ストリーム受信装置によるマルチメディアストリームの受信が、ストリーム受信装置によるマルチメディアストリームの再生に間に合わないと判定された場合、マルチメディアストリームを部分的に廃棄し、残りのマルチメディアストリームをネットワークを介して送信し、マルチメディアストリームのデータレートをネットワークのバンド幅に対応させるように制御する第1の制御ステップとを備え、ストリーム中継装置は、マルチメディアストリームの再生時刻を検出するストリーム再生時刻検出ステップと、ストリーム受信装置によるマルチメディアストリームの受信が、ストリーム受信装置によるマルチメディアストリームの再生に間に合うか否かを判定する第2の判定ステップと、第2の判定ステップにおいて、ストリーム受信装置によるマルチメディアストリームの受信が、ストリーム受信装置によるマルチメディアストリームの再生に間に合わないと判定された場合、マルチメディアストリームを部分的に廃棄し、残りのマルチメディアストリームをネットワークを介して送信し、マルチメディアストリームのデータレートをネットワークのバンド幅に対応させるように制御する第2の制御ステップとを備え、ストリーム受信装置は、ネットワークを介して受信したマルチメディアストリームから、マルチメディアストリームのデコード単位の一部が、ストリーム送信装置、またはストリーム中継装置によって破棄されたか否かを検知する検知ステップと、ネットワークを介して受信したマルチメディアストリームを構成する各デコード単位のうち、デコード単位の一部が、ストリーム送信装置、またはストリーム中継装置によって破棄されたことが検知されていないものをデコードするデコードステップとを備えることを特徴とする。請求項9に記載のストリーム配信プログラムは、ネットワークにマルチメディアストリームを送信するストリーム送信装置と、マルチメディアストリームを受信するストリーム受信装置と、ストリーム送信装置およびストリーム受信装置の間でストリーム伝送の中継を行うストリーム中継装置とがネットワークを介して接続されるストリーム配信システムを制御するストリーム配信プログラムであって、ストリーム送信装置に、ネットワークを介してマルチメディアストリームを送信してから、受信装置がマルチメディアストリームを受信するまでのネットワーク遅延時間を検出するネットワーク遅延時間検出ステップと、ストリーム受信装置によるマルチメディアストリームの受信が、ストリーム受信装置によるマルチメディアストリームの再生に間に合うか否かを判定する第1の判定ステップと、第1の判定ステップにおいて、ストリーム受信装置によるマルチメディアストリームの受信が、ストリーム受信装置によるマルチメディアストリームの再生に間に合わないと判定された場合、マルチメディアストリームを部分的に廃棄し、残りのマルチメディアストリームをネットワークを介して送信し、マルチメディアストリームのデータレートをネットワークのバンド幅に対応させるように制御する第1の制御ステップとを実行させ、ストリーム中継装置に、マルチメディアストリームの再生時刻を検出するストリーム再生時刻検出ステップと、ストリーム受信装置によるマルチメディアストリームの受信が、ストリーム受信装置によるマルチメディアストリームの再生に間に合うか否かを判定する第2の判定ステップと、第2の判定ステップにおいて、ストリーム受信装置によるマルチメディアストリームの受信が、ストリーム受信装置によるマルチメディアストリームの再生に間に合わないと判定された場合、マルチメディアストリームを部分的に廃棄し、残りのマルチメディアストリームをネットワークを介して送信し、マルチメディアストリームのデータレートをネットワークのバンド幅に対応させるように制御する第2の制御ステップとを実行させ、ストリーム受信装置に、ネットワークを介して受信したマルチメディアストリームから、マルチメディアストリームのデコード単位の一部が、ストリーム送信装置、またはストリーム中継装置によって破棄されたか否かを検知する検知ステップと、ネットワークを介して受信したマルチメディアストリームを構成する各デコード単位のうち、デコード単位の一部が、ストリーム送信装置、またはストリーム中継装置によって破棄されたことが検知されていないものをデコードするデコードステップとを実行させることを特徴とする。本発明に係るストリーム配信システムにおいては、ストリーム送信装置は、ネットワークを介してマルチメディアストリームを送信してから、受信装置がマルチメディアストリームを受信するまでのネットワーク遅延時間を検出し、ストリーム受信装置によるマルチメディアストリームの受信が、ストリーム受信装置によるマルチメディアストリームの再生に間に合うか否かを判定し、ストリーム受信装置によるマルチメディアストリームの受信が、ストリーム受信装置によるマルチメディアストリームの再生に間に合わないと判定された場合、マルチメディアストリームを部分的に廃棄し、残りのマルチメディアストリームをネットワークを介して送信し、マルチメディアストリームのデータレートをネットワークのバンド幅に対応させるように制御し、ストリーム中継装置は、マルチメディアストリームの再生時刻を検出し、ストリーム受信装置によるマルチメディアストリームの受信が、ストリーム受信装置によるマルチメディアストリームの再生に間に合うか否かを判定し、ストリーム受信装置によるマルチメディアストリームの受信が、ストリーム受信装置によるマルチメディアストリームの再生に間に合わないと判定された場合、マルチメディアストリームを部分的に廃棄し、残りのマルチメディアストリームをネットワークを介して送信し、マルチメディアストリームのデータレートをネットワークのバンド幅に対応させるように制御し、ストリーム受信装置は、ネットワークを介して受信したマルチメディアストリームから、マルチメディアストリームのデコード単位の一部が、ストリーム送信装置、またはストリーム中継装置によって破棄されたか否かを検知し、ネットワークを介して受信したマルチメディアストリームを構成する各デコード単位のうち、デコード単位の一部が、ストリーム送信装置、またはストリーム中継装置によって破棄されたことが検知されていないものをデコードする。
【0009】
【発明の実施の形態】以下、本発明のストリーム配信システムの一実施の形態について説明する。図1は、本発明のストリーム配信システムの一実施の形態のシステム構成例を示す図である。
【0010】図1に示すように、本実施の形態は、送信装置10と、中継装置A12と、中継装置B14と、受信装置16とから構成されている。送信装置10はネットワークA11を介してストリームデータを送信するようになっている。中継装置A12は、ネットワークA11とネットワークB13とを繋いでいる。また、中継装置B14は、ネットワークB13とネットワークC15とを繋いでいる。受信装置16は、ネットワークC15を介してストリームデータを受信するようになっている。
【0011】送信装置10は、受信装置16からの要求に応じて、ネットワークA11、ネットワークB13、ネットワークC15を通じて音声や動画などのストリームデータを提供する側のコンピュータである。送信装置10は、図1に示すように、インターネットなどのネットワークA11に接続されている。
【0012】図2は、送信装置10の構成例を示すブロック図である。図2に示すように、送信装置10は、MPEG(Moving Picture ExpertsGroup)エンコーダ101、CPU(central processing unit)102、ROM(read only memory)103、RAM(random access memory)104、ネットワーク遅延時間検出部105、ネットワークインターフェース106、HDD(harddisk drive:ハードディスク・ドライブ)107を備えている。
【0013】ここで、MPEGエンコーダ101は、外部からの映像信号をMPEG2トランスポートストリームにエンコードする装置であり、エンコードされたトランスポートストリームはHDD107に記録される。CPU102は、送信装置10の全体制御を行うプロセッサである。ROM103は、読み出し専用のメモリ(記録媒体)であり、CPU102を動作させるための制御プログラムが記録されている。RAM104は、CPU102が様々な処理を行う上で必要とするデータを一時的に格納する。ネットワーク遅延時間検出部105は、IPパケット送信時刻と、受信時刻情報(送信装置10が送信したIPパケットを受信装置16が受信した時刻を示す時刻情報であり、受信時刻情報パケットは、受信装置16から送信装置10に送信される)を比較し、ネットワークの遅延時間を検出する。ネットワークインターフェース106は、ストリーム送信要求、受信時刻情報、表示開始時刻情報などのIPパケットを受信し、ストリームデータIPパケット等の送信を行う。HDD107は、高速回転する円盤(ディスク)上に対してデータの読み書きをする記憶媒体であり、受信装置16からのストリーム送信要求に応じて、受信装置16に対して送信するストリームデータが保存されている。
【0014】図1に戻って、受信装置16は、ネットワークC15上で音声や動画などのストリームデータの配信サービスを受ける側のユーザのパーソナルコンピュータである。受信装置16は、図1に示すように、ネットワークC15に接続されている。なお、受信装置16は、パーソナルコンピュータ以外に、ビデオデッキやテレビジョン装置などで構成されるようにしてもよい。
【0015】図3は、受信装置16の構成例を示すブロック図である。図3に示すように、受信装置16は、MPEGデコーダ161、CPU162、ROM163、RAM164、ストリーム部分破棄検出手段165、ネットワークインターフェース166,HDD167、及びモニタ168を備えている。
【0016】ここで、MPEGデコーダ161は、HDD167に保存されたMPEGトランスポートストリームをデコードし、モニタ168に出力する装置である。CPU162は、受信装置16の全体制御を行うプロセッサである。ROM163は、読み出し専用のメモリ(記録媒体)であり、CPU162を動作させるための制御プログラムが記録されている。RAM164は、CPU162が様々な処理を行う上で必要とするデータを一時的に格納する。ストリーム部分破棄検出手段165は、MPEG2のトランスポートストリームを構成するI,P,Bの各ピクチャ(デコード単位)の一部分を含むIPパケットが、送信装置10、中継装置A12、又は中継装置B14によって破棄されたことを検知し、破棄された部分を含むPピクチャ又はBピクチャの全体を無効とする手段である。ネットワークインターフェース166は、ストリーム送信要求、受信時刻情報、表示開始時刻情報などのIPパケットを送信し、ストリームデータIPパケット等の受信を行う。HDD167は、高速回転する円盤(ディスク)上に対してデータを読み書きする記憶媒体であり、送信装置から送信されたストリームデータを保存する。
【0017】図1に戻って、中継装置A12は、送信装置10と受信装置16との伝送路上の途中で、IPパケットを受信装置16側のネットワークに流すための装置であり、無関係なネットワークにはIPパケットを流さないことにより、ネットワーク全体のトラフィックを低減する役割を有している。中継装置A12は、ネットワークA11とネットワークB13を繋ぐ。なお、インターネットでは、本中継装置A12はルータと呼ばれている。
【0018】図4は、中継装置A12の構成例を示すブロック図である。図4に示すように、中継装置A12は、CPU122、ROM123、RAM124、ストリーム中継時刻判断部125、ネットワークインターフェース126を備えている。CPU122は、中継装置A12の全体制御を行うプロセッサである。ROM123は、読み出し専用のメモリ(記録媒体)であり、CPU122を動作させるための制御プログラムが記録されている。RAM124は、CPU122が様々な処理を行う上で必要とするデータを一時的に格納する。ストリーム中継時刻判断部125は、IPパケットが受信装置16が必要とする時刻までに到着するか否かの判断を行い、受信装置16が必要とする時刻に遅れると判断した場合には、所定の条件に基づいてPピクチャ又はBピクチャを破棄する。ネットワークインターフェース126は、ストリーム送信要求、受信時刻情報、表示開始時刻情報、ストリームデータIPパケット等の中継を行う。
【0019】図1に戻って、中継装置B14は、送信装置10と受信装置16との伝送路上の途中で、IPパケットを受信装置16側のネットワークに流すための装置であり、無関係なネットワークにはIPパケットを流さないことにより、ネットワーク全体のトラフィックを低減する役割を有している。中継装置B14は、ネットワークB13とネットワークC15を繋ぐ。なお、インターネットでは、本中継装置B14はルータと呼ばれている。
【0020】図5は、中継装置B14の構成例を示すブロック図である。図5に示すように、中継装置B14は、CPU142、ROM143、RAM144、ストリーム中継時刻判断部145、ネットワークインターフェース146を備えている。CPU142は、中継装置B14の全体制御を行うプロセッサである。ROM143は、読み出し専用のメモリ(記録媒体)であり、CPU142を動作させるための制御プログラムが記録されている。RAM144は、CPU142が様々な処理を行う上で必要とするデータを一時的に格納する。ストリーム中継時刻判断部145は、IPパケットが受信装置16が必要とする時刻までに到着するか否かの判断を行い、受信装置16が必要とする時刻に遅れると判断した場合には、所定の条件に基づいてPピクチャ又はBピクチャを破棄する。ネットワークインターフェース146は、ストリーム送信要求、受信時刻情報、表示開始時刻情報、ストリームデータIPパケット等の中継を行う。
【0021】なお、ストリームデータとしては、音声や動画などのデータに適用することが可能であるが、本実施の形態では、図6に示すような、MPEG(MotionPicture Experts Group)PS(Program Stream:プログラムストリーム)、TS(Transport Stream:トランスポートストリーム)形式の動画のストリームデータを例に説明するものとする。
【0022】図6に示すように、MPEGのストリームデータは、フレーム(動画像を構成する単位となる1枚の静止画像)毎に分かれており、フレームには、Iピクチャフレーム、Bピクチャフレーム、及びPピクチャフレームの3種類がある。Iピクチャフレームは、前後のフレームへの参照がない画像であり、Bピクチャフレームは、前後のフレームへの双方向予測符号化画像であり、また、Pピクチャフレームは、フレームの順方向予測符号化画像である。
【0023】また、図6に示したGOP(Group Of Picture)は、ストリームデータのランダムアクセスを可能とするために、Iピクチャと呼ばれる画面内だけで閉じた情報によるフレーム内符号化画像が定期的に挿入され、このフレーム内符号化画像が少なくとも1枚入った画像群構造のことである。図6では、1GOPは15枚のピクチャから構成され、0.5秒(Sec)となっている。
【0024】図7は、MPEGストリームをUDP/IPパケットに分割して送信する場合の構造を示し、各ピクチャ(Iピクチャ、Pピクチャ、及びBピクチャ)は、それぞれ、1つ又は複数のUDP/IPパケットに分割される。UDP/IPパケットは、プロトコルの定めるIPヘッダ、及びUDPヘッダと、所定のストリーミングヘッダを持ち、ストリーミングヘッダは、ピクチャの時間的なデコード順を示すピクチャNo.、IPパケットの通しNo.(IPパケットNo.)、ピクチャを構成するIPパケット数、Bピクチャを削除する指針となる破棄レベル1時刻、Bピクチャ及びPピクチャを破棄する指針となる破棄レベル2時刻の情報を持つ。
【0025】なお、図1では、ネットワークA11に1台の送信装置10が接続され、ネットワークC15に1台の受信装置16が接続されているが、台数に制限はない。ネットワークのトポロジ(ネットワーク・デバイスなどの物理的な配置)にも規制はない。
【0026】次に、本実施の形態の動作について説明する。図8は、本実施の形態の送信装置10の動作を示すフローチャートである。まず最初に、受信装置16からのストリーム送信要求があったか否かが判定される。即ち、受信装置16が発行するストリーム名情報を格納したストリーム送信要求の受信確認を行い(ステップS201)、ストリーム送信要求を受信していない場合(ステップS201のNO)、再び、ストリーム送信要求の受信確認を行う(ステップ201)。
【0027】一方、ストリーム送信要求を受信した場合(ステップS201のYES)、以下に述べる手順で、図6に示した構造のMPEGストリームの各ピクチャを、図7に示した構造のUDP/IPパケットで受信装置16に送信する。
【0028】まず、ネットワーク遅延時間1、及びネットワーク遅延時間2の値を0に設定する(ステップS202)。ネットワーク遅延時間1は、送信したIPパケットが受信装置16に到着するまでの時間を表している。受信装置16は、送信装置10から送られてきたストリームのピクチャデータを含むピクチャIPパケットを受信すると、当該ピクチャIPパケットを受信した受信装置16の内部時刻を記載した受信時刻情報IPパケットを送信装置10に送信する。そして、送信装置10は、送信したIPパケットの送信時刻と、受信装置16から送られてきた受信時刻情報IPパケットに記載された受信時刻とを比較し、上記送信時刻から上記受信時刻を差し引いた時間をネットワーク遅延時間1とする。
【0029】ネットワーク遅延時間2は、最後に受信した時刻情報IPパケットに対応したピクチャIPパケットの次に送信したピクチャIPパケットの送信してからの経過時間を表している。このネットワーク遅延時間2は、送信装置10がピクチャIPパケットを送信したときの送信装置10の内部時刻と、現在の時刻とを比較することにより得られる。即ち、現在の時刻から、送信装置10がピクチャIPパケットを送信したときの送信装置10の内部時刻を差し引くことにより、ネットワーク遅延時間2が求まる。
【0030】次に、ストリームの全てのデータの送信終了確認を行い(ステップS203)未送信のストリームデータがある場合(ステップS203のNO)は、新たな受信時刻情報の受信確認を行い(ステップS204)、受信している場合(ステップS204のYES)には、ネットワーク遅延時間1(=最新のIPパケットの受信時刻−最新のIPパケットの送信時刻)を算出し、設定する(ステップS205)。
【0031】最新の受信時刻情報IPパケットを受信したときより以降に、受信時刻情報IPパケットを未だ受信していないピクチャIPパケットが存在するか否かを確認し(ステップS206)、最新の受信時刻情報IPパケットを受信したときより以降に、受信時刻情報IPパケットを未だ受信していないピクチャIPパケットが存在する場合、ネットワーク遅延時間2(=時刻情報未受信のIPパケットの送信後の経過時間)を設定する(ステップS207)。
【0032】ネットワーク遅延時間は、送信装置10から送信したIPパケットが受信装置16に到着するまでの時間であり、ネットワーク遅延時間1の値とネットワーク遅延時間2の値のうちの大きい方の値をネットワーク遅延時間として設定する(ステップS208)。
【0033】次に、表示開始時刻情報IPパケットの受信確認(受信したか否かの判定)を行い(ステップS209)、受信済みの場合は、後述するように、表示開始時刻を用いた所定の演算を行うことにより、破棄レベル1閾値、及び破棄レベル2閾値を設定する(ステップS210)。
【0034】破棄レベル1閾値は、送信装置10において、ストリームデータを間引くことにより、狭いネットワークバンド幅に対応させるための指標(単位は時間)である。マルチメディアストリームの先頭ピクチャのIPパケットを送信した時刻である先頭ピクチャIPパケット送信時刻と表示開始時刻情報IPパケットが示す表示開始時刻を比較し、両者の時間差を演算し、演算によって得られた時間差より小さい値(例えば、時間差に0.7を乗じた値)を破棄レベル1閾値として設定する。
【0035】破棄レベル2閾値は、送信装置10において、ストリームデータを間引いてさらに狭いネットワークバンド幅に対応させるための指標(単位は時間)である。先頭ピクチャIPパケット送信時刻と表示開始時刻情報IPパケットが示す表示開始時刻を比較し、両者の時間差を演算し、演算によって得られた時間差より小さい値を(例えば、時間差に0.5を乗じた値)を破棄レベル2閾値として設定する。
【0036】そして、後述するように、ピクチャIPパケットの受信装置16への到着予想時刻と、このピクチャIPパケットの表示時刻との時間差(余裕時間)(=表示時刻−到着予想時刻)が、破棄レベル1閾値として示される時間を下回ると、ネットワークのバンド幅が狭くなってきたと判断し、これに対応するために、破棄レベルを1に設定し、Bピクチャを破棄して送信する。
【0037】また、後述するように、ピクチャIPパケットの受信装置16への到着予想時刻と、このピクチャIPパケットの表示時刻との時間差(余裕時間)(=表示時刻−到着予想時刻)が、破棄レベル2閾値として示される時間を下回ると、ネットワークのバンド幅がさらに狭くなってきたと判断し、これに対応するために破棄レベルを2に設定し、P及びBピクチャを破棄して送信する。
【0038】次に、余裕時間が破棄レベル2閾値より小さいか否かが判定される(ステップS211)。余裕時間とは、ピクチャIPパケットが受信装置16に届いた時刻(受信装置到着予想時刻)と、受信装置16がこのピクチャIPパケットに含まれるピクチャをモニタ168に表示させる時刻(受信装置表示時刻)との差であり、時間的余裕を示しており、次式で算出される。
余裕時間 = 受信装置表示時刻 ― 受信装置到着予想時刻【0039】余裕時間が大きいほど、受信装置16側で、受信したストリームデータが不足することにより生じるストリームデータアンダーランが発生しにくくなる。受信装置到着予想時刻は、現在の時刻にネットワーク遅延時間を加算する(現在時刻+ネットワーク遅延時間)ことにより算出される。表示時刻は、表示開始時刻にPTS(Presentation Time Stamp:再生時刻情報)オフセット時間を加算する(表示開始時刻+PTSオフセット時間)ことにより算出される。
【0040】PTSは、MPEGプログラムストリーム、又はMPEGトランスポートストリームが含む表示時刻情報であり、PTSオフセット時間は、MPEGストリームの先頭からの時間である。
【0041】ステップS211において、余裕時間が破棄レベル2閾値より小さいと判定された場合、破棄レベルを2に設定する(ステップS212)。一方、ステップS211において、余裕時間が破棄レベル2閾値より大きいか又は等しいと判定された場合、余裕時間が破棄レベル1閾値より小さいか否かが判定され(ステップ215)、余裕時間が破棄レベル1閾値より小さいと判定された場合、破棄レベルを1に設定する(ステップS216)。一方、余裕時間が破棄レベル1閾値より大きいか又は等しいと判定された場合、ステップS213に進む。
【0042】そして、設定された破棄レベルに応じて、ピクチャを破棄し、現在の時刻が次に送信するピクチャIPパケットの送信時刻になるまで待った後(ステップS213)、又は、既に送信時刻を過ぎている場合は直ちに、次のピクチャIPパケットを送信し(ステップS214)、ステップS203に戻り、ステップS203以降の処理が繰り返し実行される。
【0043】ピクチャIPパケットの送信時刻は、次式で表される。
ピクチャIPパケットの送信時刻=先頭ピクチャIPパケット送信時刻+PTSオフセット時間【0044】ピクチャIPパケットは、図7に示すような構造であり、ストリームミングヘッダ内の破棄レベル1時刻は、次式に示すように、ピクチャIPパケット表示時刻から破棄レベル1閾値を差し引くことにより算出される。
破棄レベル1時刻 = ピクチャIPパケット表示時刻―破棄レベル1閾値【0045】破棄レベル2時刻は、次式に示すように、ピクチャIPパケット表示時刻から破棄レベル1閾値を差し引くことにより算出される。
破棄レベル2時刻 = ピクチャIPパケット表示時刻―破棄レベル2閾値【0046】図9は、本発明の中継装置A12、及び中継装置B14の動作を示すフローチャートである。中継装置A12と中継装置B14の動作は基本的に同様であるので、ここでは、中継装置A12の動作についてのみ説明し、中継装置B14の動作についての説明は省略する。
【0047】まず最初に、中継装置A12のCPU122により、ピクチャIPパケットの受信確認(ピクチャIPを受信したか否かの判定)が行われ(ステップS301)、ピクチャIPパケットを受信していないと判定された場合、ステップS301に戻り、ステップS301以降の処理が繰り返し実行される。一方、ピクチャIPパケットを受信したと判定された場合、受信したピクチャIPパケットのストリーミングヘッダに格納されている破棄レベル1時刻と、中継装置A12の内部時刻とが比較され、破棄レベル1時刻を中継装置A12の内部時刻が過ぎているか否かが判定される(ステップS302)。
【0048】ステップS302において、受信したピクチャIPパケットのストリーミングヘッダに格納されている破棄レベル1時刻を中継装置A12の内部時刻が過ぎていると判定された場合は、受信したピクチャIPパケットがBピクチャであるか否かが判定される(ステップS303)。その結果、受信したピクチャIPパケットがBピクチャであると判定された場合、このピクチャIPパケットを破棄し(ステップS304)、受信装置16には転送しない。
【0049】一方、ステップS302において、受信したピクチャIPパケットのストリーミングヘッダに格納されている破棄レベル1時刻を中継装置A12の内部時刻が過ぎていないと判定された場合、又はステップS303において、受信したピクチャIPパケットがBピクチャでないと判定された場合、又はステップS304において、受信したピクチャIPパケットが破棄された後、ステップS305に進む。
【0050】ステップS305においては、受信したピクチャIPパケットに格納されている破棄レベル2時刻と、中継装置A12の内部時刻とが比較され、ピクチャIPパケットのストリーミングヘッダに格納されている破棄レベル2時刻を中継装置A12の内部時刻が過ぎていた場合は、受信したピクチャIPパケットがPピクチャのIPパケットであるか否かが判定される(ステップS306)。その結果、受信したピクチャIPパケットがPピクチャのIPパケットであると判定された場合、このピクチャIPパケットを破棄し(S307)、受信装置16には転送せず、再びピクチャIPパケットの受信確認のため、ステップS301に戻る。
【0051】一方、ステップS305において、受信したピクチャIPパケットに格納されている破棄レベル2時刻を中継装置A12の内部時刻が過ぎていないと判定された場合、又はステップS306において、受信したピクチャIPパケットがPピクチャのIPパケットではないと判定された場合、受信したピクチャIPパケットを受信装置16に転送する(ステップS308)。
【0052】図10は、本実施の形態の受信装置16の動作を示すフローチャートである。まず最初に、受信装置16のCPU162は、所望のストリームのストリーム名情報を含む送信要求をネットワークインターフェース166を介して送信装置10に送信し(ステップS401)、図7に示すような形式で送信装置10から送られてきたピクチャIPパケットを受信し、MPEGデコーダ161に供給する。MPEGデコーダ161は、CPU162より供給されたピクチャIPパケットをデコードし、モニタ168に供給する。モニタ168は、MPEGデコーダ161より供給されたデコードされたピクチャIPパケットに対応する動画や静止画を画面に表示する。
【0053】次に、ストリームの受信終了確認を行い(ステップS402)、ストリームの受信が終了した場合、本処理を終了する。一方、ストリームの受信が終了していない場合は、新規のピクチャIPパケットの受信確認を行い(ステップS403)、新規のピクチャIPパケットを受信していない場合には、再び、ストリームの受信終了確認を行うため、ステップS402に戻る。
【0054】ステップS403において、新規にピクチャIPパケットを受信している場合には、新規に受信したピクチャIPパケットが無効ピクチャIPパケットであるか否かが判定される(ステップS404)。無効IPパケットとは、過去において、送信装置10、又は中継装置A12、又は中継装置B14によって破棄されたピクチャIPパケットのストリーミングヘッダに含まれるピクチャNo.(図7)が同一の各ピクチャIPパケットNo.(IPパケットNo.)のピクチャIPパケットのことである。これは、単一ピクチャが複数のピクチャIPパケットに分割される可能性を考慮している。
【0055】ステップS404における無効IPパケットであるか否かの判定は次にようにして行われる。即ち、後述するように、ステップS408において、受信ピクチャ番号(ストリーミングヘッダのピクチャNo.)の連続性を判断し、受信ピクチャ番号が不連続である場合には、抜けているピクチャ番号、即ち、非到着のピクチャ番号のピクチャをステップS414にて無効ピクチャとし、この無効ピクチャに対応するIPパケットを無効IPパケットと判定する。ステップS404において、新規に受信したピクチャIPパケットが無効IPパケットであると判定された場合、新規に受信したピクチャIPパケットは破棄される(ステップS410)。
【0056】一方、ステップS404において、新規に受信したピクチャIPパケットが無効IPパケットではないと判定された場合、ピクチャIPパケットを受信した時刻を示すパケット受信時刻情報を送信装置10に送信する(ステップS405)。
【0057】次に、既にストリームのデコードを開始しているか否かが判定される(ステップS406)。その結果、既にストリームのデコードを開始していると判定された場合、このピクチャIPパケットの受信により、このピクチャIPパケットと同一のピクチャNo.を持つピクチャIPパケットが、パケット数分だけ揃ったか否かが判定される。即ち、ピクチャを構成するパケット数(図7)だけ、同一ピクチャNo.を持つピクチャIPパケットを受信したか否かが判定される(ステップS407)。
【0058】その結果、ピクチャを構成するパケット数分のピクチャIPパケットを受信し、ピクチャを構成する全てのピクチャIPパケットが揃ったと判定された場合、このピクチャが、直前にデコードしたピクチャと連続していることを、このピクチャのピクチャNo.と、直前にデコードしたピクチャのピクチャNo.とを比較することにより確認し(ステップS408)、連続している場合はこのピクチャのデコードを開始する(ステップS409)。
【0059】一方、ステップS406において、まだデコードを開始していないと判定された場合、ネットワーク遅延時間の揺らぎに対応するため、例えば、HDD167に蓄えたストリームデータが10秒分(連続するピクチャ20枚)だけあるか否かが判定される(ステップS411)。その結果、ストリームデータが10秒分だけローカル環境にある(HDD167に記憶されている)と判定された場合、このストリームデータのデコードを開始し(ステップS412)、表示開始時刻情報を送信装置10に送信する(ステップS413)。
【0060】ステップS408において、揃ったピクチャが直前にデコードしたピクチャと連続していないと判定された場合、受信しなかったピクチャNo.のピクチャを無効ピクチャとする(ステップS414)。
【0061】ステップS410でIPパケットを破棄した後、又はステップS411において、10秒分のデータがまだ溜まっていないと判定された場合、又はステップS407において、同一ピクチャNo.を持つ全ピクチャIPパケットが揃っていないと判定された場合、又はステップS413において、表示開始時刻情報を送信した後、又はステップS409において、ピクチャのデコードを開始した後、又はステップS414において、受信しなかったピクチャNo.のピクチャを無効ピクチャとした後、ステップS402に戻り、ステップS402以降の処理が繰り返し実行される。
【0062】以上説明したように、送信装置10、中継装置A12、中継装置B14は、それぞれ、能動的に、ネットワークのバンド幅に応じて、適宜ピクチャIPパケットを破棄することができるので、ネットワークのバンド幅にストリームデータレートを対応させるときのタイムラグを小さくするとともに、ネットワーク上のリソースを無駄に消費することを抑制することができる。
【0063】また、上述したような処理を実行するプログラムは、CD−ROM(compact disc read only memory)、DVD(digital versatile disc)、フロッピー(登録商標)ディスク、メモリカード等の様々な記録媒体に記録して提供することができる。そして、そのプログラムは、各装置の動作を制御し、プログラム制御されたその装置が上記プログラムにより指令される所定の処理を実行する。
【0064】なお、上記実施の形態においては、MPEGのストリームデータを扱う場合について説明したが、これに限定されるものではない。
【0065】また、上記実施の形態の構成及び動作は例であって、本発明の趣旨を逸脱しない範囲で適宜変更することができることは言うまでもない。
【0066】
【発明の効果】以上の如く、本発明に係るストリーム配信システムによれば、ストリーム送信装置は、ネットワークを介してマルチメディアストリームを送信してから、受信装置がマルチメディアストリームを受信するまでのネットワーク遅延時間を検出し、ストリーム受信装置によるマルチメディアストリームの受信が、ストリーム受信装置によるマルチメディアストリームの再生に間に合うか否かを判定し、ストリーム受信装置によるマルチメディアストリームの受信が、ストリーム受信装置によるマルチメディアストリームの再生に間に合わないと判定された場合、マルチメディアストリームを部分的に廃棄し、残りのマルチメディアストリームをネットワークを介して送信し、マルチメディアストリームのデータレートをネットワークのバンド幅に対応させるように制御し、ストリーム中継装置は、マルチメディアストリームの再生時刻を検出し、ストリーム受信装置によるマルチメディアストリームの受信が、ストリーム受信装置によるマルチメディアストリームの再生に間に合うか否かを判定し、ストリーム受信装置によるマルチメディアストリームの受信が、ストリーム受信装置によるマルチメディアストリームの再生に間に合わないと判定された場合、マルチメディアストリームを部分的に廃棄し、残りのマルチメディアストリームをネットワークを介して送信し、マルチメディアストリームのデータレートをネットワークのバンド幅に対応させるように制御し、ストリーム受信装置は、ネットワークを介して受信したマルチメディアストリームから、マルチメディアストリームのデコード単位の一部が、ストリーム送信装置、またはストリーム中継装置によって破棄されたか否かを検知し、ネットワークを介して受信したマルチメディアストリームを構成する各デコード単位のうち、デコード単位の一部が、ストリーム送信装置、またはストリーム中継装置によって破棄されたことが検知されていないものをデコードするようにしたので、ストリーム送信装置またはストリーム中継装置が能動的にマルチメディアストリームを部分的に間引いてネットワークのバンド幅に対応させることができ、ストリームデータを受信装置で再生するときの時間的なズレを抑制することができる。また、ネットワーク上のリソースを無駄に消費することを抑制することができる。




 

 


     NEWS
会社検索順位 特許の出願数の順位が発表

URL変更
平成6年
平成7年
平成8年
平成9年
平成10年
平成11年
平成12年
平成13年


 
   お問い合わせ info@patentjp.com patentjp.com   Copyright 2007-2013