(57)【要約】【課題】ネットワークを介して伝送される到着時間の異なる複数のストリームデータを、時刻通りに正しく切り替えるストリーム切り替え装置、ストリーム切り替え方法及びストリーム切り替えプログラムを提供する。【解決手段】ストリーム切り替え装置１は、タイムスタンプ読み取り手段１０で、切り替え元及び切り替え先のストリームデータからタイムスタンプを読み取り、そのタイムスタンプと切り替え時刻とを比較することで、切り替え元制御部３１がバッファ２０ａの書き込み及び読み出しを禁止し、切り替え先制御部３２が、バッファ２０ｂの書き込み及び読み出しを許可し、切り替え手段４０が、ストリームを切り替えて出力することを特徴とする。【選択図】      図１
2004350237.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して配信されるタイムスタンプを含んだ複数のストリームデータを、外部から入力される切り替え時刻に基づいて切り替えるストリーム切り替え装置であって、
前記ストリームデータから、フレーム単位で前記タイムスタンプを読み取るタイムスタンプ読み取り手段と、
前記複数のストリームデータを蓄積することで前記ストリームデータを遅延させる複数の蓄積遅延手段と、
前記タイムスタンプ読み取り手段で読み取られた切り替え元のストリームデータのタイムスタンプと、前記切り替え時刻とを比較して、当該タイムスタンプが前記切り替え時刻を過ぎた段階で、前記切り替え元のストリームデータを蓄積する蓄積遅延手段に対して、書き込み及び読み出しを禁止する制御情報を通知する切り替え元制御手段と、
前記タイムスタンプ読み取り手段で読み取られた切り替え先のストリームデータのタイムスタンプと、前記切り替え時刻とを比較して、当該タイムスタンプが前記切り替え時刻を過ぎた段階で、前記切り替え先のストリームデータを蓄積する蓄積遅延手段に対して、書き込み及び読み出しを許可する制御情報を通知する切り替え先制御手段と、
前記切り替え元のストリームデータを蓄積した蓄積遅延手段と、前記切り替え先のストリームデータを蓄積した蓄積遅延手段とを切り替えて、前記読み出しを許可された蓄積遅延手段から、前記切り替え先のストリームデータを読み出す切り替え手段と、
を備えていることを特徴とするストリーム切り替え装置。
【請求項２】
前記切り替え先制御手段は、前記切り替え時刻経過後、その切り替え時刻をタイムスタンプとして含んだ、前記切り替え元のストリームデータを受信するまでの時刻のずれを測定する時刻ずれ測定手段を備え、
前記時刻ずれ測定手段での測定結果が、時刻ずれ許容時間を超過した場合に、前記切り替え先のストリームデータを蓄積した蓄積遅延手段の書き込み及び読み出しを許可することを特徴とする請求項１に記載のストリーム切り替え装置。
【請求項３】
ネットワークを介して配信されるタイムスタンプを含んだ複数のストリームデータを、外部から入力される切り替え時刻に基づいて切り替えるストリーム切り替え方法であって、
前記ストリームデータから、フレーム単位で前記タイムスタンプを読み取るタイムスタンプ読み取りステップと、
このタイムスタンプ読み取りステップで読み取った切り替え元のストリームデータのタイムスタンプと、前記切り替え時刻とを比較して、当該タイムスタンプが前記切り替え時刻を過ぎた段階で、前記切り替え元のストリームデータを蓄積する蓄積遅延手段に対して、書き込み及び読み出しを禁止する制御情報を通知する切り替え元蓄積停止ステップと、
前記タイムスタンプ読み取りステップで読み取った切り替え先のストリームデータのタイムスタンプと、前記切り替え時刻とを比較して、当該タイムスタンプが前記切り替え時刻を過ぎた段階で、前記切り替え先のストリームデータを蓄積する蓄積遅延手段に対して、書き込み及び読み出しを許可する制御情報を通知する切り替え先蓄積開始ステップと、
前記切り替え元のストリームデータを蓄積した蓄積遅延手段と、前記切り替え先のストリームデータを蓄積した蓄積遅延手段とを切り替えて、前記読み出しを許可された蓄積遅延手段から、前記切り替え先のストリームデータを読み出す切り替え実行ステップと、
を含んでいることを特徴とするストリーム切り替え方法。
【請求項４】
ネットワークを介して配信されるタイムスタンプを含んだ複数のストリームデータを、外部から入力される切り替え時刻に基づいて切り替えるために、コンピュータを、
前記ストリームデータから、フレーム単位で前記タイムスタンプを読み取るタイムスタンプ読み取り手段、
このタイムスタンプ読み取り手段で読み取られた切り替え元ストリームデータのタイムスタンプと、前記切り替え時刻とを比較して、当該タイムスタンプが前記切り替え時刻を過ぎた段階で、前記切り替え元のストリームデータを蓄積する蓄積遅延手段に対して、書き込み及び読み出しを禁止する制御情報を通知する切り替え元制御手段、
前記タイムスタンプ読み取り手段で読み取られた切り替え先のストリームデータのタイムスタンプと、前記切り替え時刻とを比較して、当該タイムスタンプが前記切り替え時刻を過ぎた段階で、前記切り替え先ストリームデータを蓄積する蓄積遅延手段に対して、書き込み及び読み出しを許可する制御情報を通知する切り替え先制御手段、
前記切り替え元のストリームデータを蓄積した蓄積遅延手段と、前記切り替え先のストリームデータを蓄積した蓄積遅延手段とを切り替えて、前記読み出しを許可された蓄積遅延手段から、前記切り替え先のストリームデータを読み出す切り替え手段、
として機能させることを特徴とするストリーム切り替えプログラム。
【請求項５】
ネットワークを介して配信されるタイムスタンプを含んだ複数のストリームデータを切り替える際に、前記ストリームデータを復号したフレームの表示時刻を補正する表示時刻補正装置であって、
前記ストリームデータを、外部から入力される切り替え時刻に基づいて切り替えて出力する請求項１又は請求項２に記載のストリーム切り替え装置と、
このストリーム切り替え装置から出力されるストリームデータから、フレーム単位でタイムスタンプを読み取るフレームタイムスタンプ読み取り手段と、
前記ストリーム切り替え装置から出力されるストリームデータを、表示データであるフレームに復号する復号手段と、
この復号手段で復号されたフレームを蓄積するフレーム蓄積手段と、
このフレーム蓄積手段に蓄積されたフレームを所定のフレーム送出間隔で出力する出力手段と、
前記フレームタイムスタンプ読み取り手段で読み取られたタイムスタンプに基づいて、現在時刻に対する前記タイムスタンプの時刻のずれを測定するフレーム時刻ずれ測定手段と、
このフレーム時刻ずれ測定手段での測定結果で、前記時刻のずれが再出力判定時間より遅れている場合に、前記フレーム蓄積手段に蓄積されているフレームを繰り返して出力する指示を前記出力手段に通知するフレーム繰り返し手段と、
前記フレーム時刻ずれ測定手段での測定結果で、前記時刻のずれがスキップ判定時間より進んでいる場合に、出力予定のフレームをスキップして、次のフレームを出力する指示を前記出力手段に通知するフレームスキップ手段と、
を備えていることを特徴とする表示時刻補正装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ネットワークを介して配信される複数のストリームデータを切り替えるストリーム切り替え装置、ストリーム切り替え方法及びストリーム切り替えプログラム、並びに、表示時刻補正装置に関する。
【０００２】
【従来の技術】
一般に、放送やネットワークを介して映像等のコンテンツを配信する場合、コンテンツを提供する提供者（プロバイダ）は、そのコンテンツをＭＰＥＧ−２（ＩＳＯ／ＩＥＣ  １３８１８）等の符号化方式によって符号化し、ストリームデータ（ビットストリーム）として視聴者側の端末に配信している。一方、視聴者側の端末では、視聴者の要求、例えば、チャンネルの切り替え等によって、ストリームデータを切り替えて、コンテンツの再生及び表示を行っている。
【０００３】
このストリームデータを切り替える技術に関しては、切り替え時点以降に入力される切り替え先のストリームデータを一旦蓄積し、切り替え元のストリームデータの構成単位であるデータ列の再生を完了させてから、蓄積されている切り替え先のストリームデータの再生を行う切り替え装置として技術が開示されている（特許文献１参照。）。
【０００４】
この特許文献１では、さらに、データストリームの切り替え時に、切り替え元及び切り替え先のデータストリームのタイムスタンプ（時刻情報）を比較して、切り替え先のデータストリームの時刻情報を、切り替え元のデータストリーム以降の時刻に変更することで、切り替えを行う技術が開示されている。
【０００５】
【特許文献１】
特許第３０５９１５１号明細書（段落〔００４１〕−段落〔００４９〕、第１−２図）
【０００６】
【発明が解決しようとする課題】
しかし、従来の技術では、以下に示す課題が存在する。
一般に、インターネット等は、エンド・ツゥ・エンドでデータの遅延時間等が保証されないベストエフォート型のネットワークである。このようなネットワークで複数のストリームデータ（映像等）を伝送すると、ストリームデータが転送されるネットワーク経路の違いによって、表示タイムスタンプ（表示すべき時刻を示す時刻情報）や、復号タイムスタンプ（復号すべき時刻を示す時刻情報）が同一となるパケットが同時に切り替え装置に到着するとは限らない。このため、タイムスタンプを考慮せずにストリームデータの切り替えを行うと、例えば、映像の一部が表示されなかったり、表示順序が入れ替わって不必要な映像が表示されてしまうという問題がある。
【０００７】
また、切り替え装置への到着時刻にずれがある複数のストリームデータを、タイムスタンプを考慮して切り替えると、単位時間に伝送される映像のフレーム数が多くなる場合や、逆に少なくなる場合が発生してしまう。一方、単位時間に表示装置に表示するフレーム数は一定であるため、前記した単位時間あたりに伝送されるフレーム数を調整するには、前記した特許文献１のように、一旦ストリームデータをバッファに蓄積して表示時刻又は復号時刻を制御する必要がある。しかし、ネットワークの遅延時間を考慮してバッファを大きくすると、それだけ遅延が大きくなってしまうという問題がある。
【０００８】
本発明は、以上のような問題点に鑑みてなされたものであり、ネットワークを介して伝送される到着時刻の異なる複数のストリームデータを、時刻通りに正しく切り替えるストリーム切り替え装置、ストリーム切り替え方法及びストリーム切り替えプログラムを提供し、さらに、到着時刻の異なる複数のストリームデータを受信した場合であっても、単位時間に表示するフレーム数を適正に補正して出力する表示時刻補正装置を提供することを目的とする。
【０００９】
【課題を解決するための手段】
本発明は、前記目的を達成するために創案されたものであり、まず、請求項１に記載のストリーム切り替え装置は、ネットワークを介して配信されるタイムスタンプを含んだ複数のストリームデータを、外部から入力される切り替え時刻に基づいて切り替えるストリーム切り替え装置であって、タイムスタンプ読み取り手段と、蓄積遅延手段と、切り替え元制御手段と、切り替え先制御手段と、切り替え手段と、を備える構成とした。
【００１０】
かかる構成によれば、ストリーム切り替え装置は、タイムスタンプ読み取り手段によって、ネットワークを介して配信されたストリームデータから、フレーム単位でタイムスタンプを読み取る。このストリームデータは、ＭＰＥＧ−２等の符号化方式によって符号化されたデータ列（ビットストリーム）である。なお、このタイムスタンプ読み取り手段は、入力されるストリーム毎に複数存在してもよいし、１つのタイムスタンプ読み取り手段で、ストリーム毎にタイムスタンプを読み取ることとしてもよい。
【００１１】
そして、ストリーム切り替え装置は、切り替え元制御手段によって、切り替え元のストリームデータのタイムスタンプで示される時刻が切り替え時刻を過ぎた段階で、切り替え元のストリームデータを蓄積する蓄積遅延手段の書き込み及び読み出しを禁止する。これによって、今まで入力していた切り替え前のストリームは蓄積遅延手段に蓄積されなくなる。
【００１２】
なお、切り替え時刻は、外部から入力される情報であって、例えば、テレビ受像機の番組予約等によって、ストリームを切り替える時刻である。あるいは、時刻を指定せずに、単に切り替え指示を示す情報であってもよい。この場合、切り替えを行う時刻は、現在の時刻となる。
【００１３】
また、ストリーム切り替え装置は、切り替え先制御手段によって、切り替え先のストリームデータで示される時刻のタイムスタンプが切り替え時刻を過ぎた段階で、切り替え先のストリームデータを蓄積する蓄積遅延手段の書き込み及び読み出しを許可する。これによって、切り替えられたストリームが蓄積遅延手段に蓄積されるようになる。
【００１４】
さらに、ストリーム切り替え装置は、切り替え手段によって、切り替え元ストリームデータを蓄積した蓄積遅延手段と、切り替え先ストリームデータを蓄積した蓄積遅延手段とを切り替えて読み出す。なお、この蓄積遅延手段からの読み出しは、切り替え先制御手段によって、読み出しが許可された段階で可能になる。
【００１５】
また、蓄積遅延手段は、ストリームデータを一旦蓄積しておくため、ネットワークを介して、切り替え元と切り替え先とのストリームデータに、到着時刻のずれがあっても、蓄積遅延手段内で、ストリームデータを遅延させることで、そのずれを吸収することができる。
これによって、ストリーム切り替え装置は、ストリームデータをフレーム（コマ）の単位で切り替えることが可能になる。
【００１６】
また、請求項２に記載のストリーム切り替え装置は、請求項１に記載のストリーム切り替え装置において、前記切り替え先制御手段が、前記切り替え時刻経過後、その切り替え時刻をタイムスタンプとして含んだ、前記切り替え元のストリームデータを受信するまでの時刻のずれを測定する時刻ずれ測定手段を備え、前記時刻ずれ測定手段での測定結果が、時刻ずれ許容時間を超過した場合に、前記切り替え先のストリームデータを蓄積した蓄積遅延手段の書き込み及び読み出しを許可することを特徴とする。
【００１７】
かかる構成によれば、ストリーム切り替え装置は、切り替え元のストリームが遅延して、切り替え時刻をタイムスタンプとして含んだ切り替え元のストリームデータが到着していない場合であっても、時刻ずれ許容時間を超過した段階で、ストリームの切り替えを実行する。これによって、ストリーム切り替え装置は、ストリームの切り替えを許容範囲内で行うことができる。なお、時刻ずれ許容時間は、ストリームデータの付加情報として入力してもよいし、予め保持しておく形態であっても構わない。
【００１８】
さらに、請求項３に記載のストリーム切り替え方法は、ネットワークを介して配信されるタイムスタンプを含んだ複数のストリームデータを、外部から入力される切り替え時刻に基づいて切り替えるストリーム切り替え方法であって、タイムスタンプ読み取りステップと、切り替え元蓄積停止ステップと、切り替え先蓄積開始ステップと、切り替え実行ステップと、を含んでいることを特徴とする。
【００１９】
この方法によれば、タイムスタンプ読み取りステップで、ストリームデータから、フレーム単位で前記タイムスタンプを読み取る。そして、切り替え元蓄積停止ステップで、切り替え元のストリームデータのタイムスタンプで示される時刻が切り替え時刻を過ぎた段階で、切り替え元の蓄積遅延手段の書き込み及び読み出しが禁止される。これによって、今まで入力していた切り替え前のストリームは蓄積遅延手段に蓄積されなくなる。
【００２０】
そして、切り替え先蓄積開始ステップで、切り替え先のストリームデータのタイムスタンプで示される時刻が切り替え時刻を過ぎた段階で、切り替え先の蓄積遅延手段の書き込み及び読み出しが許可される。これによって、切り替えられたストリームが蓄積遅延手段に蓄積されるようになる。
【００２１】
そして、切り替え実行ステップで、切り替え元のストリームデータを蓄積した蓄積遅延手段と、切り替え先のストリームデータを蓄積した蓄積遅延手段とを切り替えて読み出す。これによって、ストリームデータをフレーム（コマ）の単位で切り替えることが可能になる。
【００２２】
また、請求項４に記載のストリーム切り替えプログラムは、ネットワークを介して配信されるタイムスタンプを含んだ複数のストリームデータを、外部から入力される切り替え時刻に基づいて切り替えるために、コンピュータを、タイムスタンプ読み取り手段、切り替え元制御手段、切り替え先制御手段、切り替え手段、として機能させることを特徴とする。
【００２３】
かかる構成によれば、ストリーム切り替えプログラムは、タイムスタンプ読み取り手段によって、ストリームデータから、フレーム単位でタイムスタンプを読み取る。
そして、ストリーム切り替えプログラムは、切り替え元制御手段によって、切り替え元のストリームデータのタイムスタンプで示される時刻が切り替え時刻を過ぎた段階で、切り替え元のストリームデータを蓄積する蓄積遅延手段の書き込み及び読み出しを禁止する。また、ストリーム切り替えプログラムは、切り替え先制御手段によって、切り替え先のストリームデータのタイムスタンプで示される時刻が切り替え時刻を過ぎた段階で、切り替え先のストリームデータを蓄積する蓄積遅延手段の書き込み及び読み出しを許可する。
【００２４】
また、ストリーム切り替えプログラムは、切り替え手段によって、切り替え元のストリームデータを蓄積した蓄積遅延手段と、切り替え先のストリームデータを蓄積した蓄積遅延手段とを切り替えて読み出す。
これによって、ストリーム切り替え装置は、ストリームデータをフレーム（コマ）の単位で切り替えることが可能になる。
【００２５】
さらに、請求項５に記載の表示時刻補正装置は、ネットワークを介して配信されるタイムスタンプを含んだ複数のストリームデータを切り替える際に、前記ストリームデータを復号したフレームの表示時刻を補正する表示時刻補正装置であって、ストリーム切り替え装置と、フレームタイムスタンプ読み取り手段と、復号手段と、フレーム蓄積手段と、出力手段と、フレーム時刻ずれ測定手段と、フレーム繰り返し手段と、フレームスキップ手段と、を備える構成とした。
【００２６】
かかる構成によれば、表示時刻補正装置は、ストリーム切り替え装置が、ネットワークを介して配信される複数のストリームデータの中から切り替えて１つのストリームデータを出力する。そして、表示時刻補正装置は、フレームタイムスタンプ読み取り手段によって、ストリーム切り替え装置が出力するストリームデータから、フレーム単位でタイムスタンプを読み取る。また、ストリームデータは、復号手段によって復号され、フレーム蓄積手段に蓄積される。
【００２７】
そして、表示時刻補正装置は、フレーム時刻ずれ測定手段によって、現在時刻に対するタイムスタンプの時刻のずれを測定する。この測定結果は、フレーム繰り返し手段によって解析され、時刻のずれが再出力判定時間より遅れている場合に、フレーム蓄積手段に蓄積されている先に出力したフレームを繰り返して出力する指示を出力手段に通知する。
これによって、ネットワークを介して、ストリームデータが遅延した場合、フレームが繰り返して出力される。
なお、この再出力判定時間は、外部から入力することとしてもよいし、ストリームデータの付加情報として入力することとしてもよい。
【００２８】
そして、表示時刻補正装置は、フレームスキップ手段によって、フレーム時刻ずれ測定手段の測定結果で示される現在時刻に対するタイムスタンプの時刻のずれが、スキップ判定時間より進んでいる場合に、出力予定のフレームをスキップして、次のフレームを出力する指示を出力手段に通知する。
これによって、短時間に連続したフレームが復号された場合、フレームの出力間隔は予め定まっている（例えば１秒間に３０フレーム）ため、フレームを読み飛ばす（スキップする）ことで、表示時刻の調整を行うことが可能になる。
なお、このスキップ判定時間は、外部から入力することとしてもよいし、ストリームデータの付加情報として入力することとしてもよい。
【００２９】
【発明の実施の形態】
以下、本発明の実施の形態について図面を参照して説明する。
（ストリーム切り替え装置の構成；第一の実施の形態）
まず、図１を参照して、本発明における第一の実施の形態に係るストリーム切り替え装置の構成について説明する。図１は、本発明における第一の実施の形態に係るストリーム切り替え装置１の構成を示したブロック図である。ストリーム切り替え装置１は、ネットワークを介して入力される複数のストリームデータを、外部から入力される切り替え時刻のタイミングで切り替えて出力するものである。このストリームデータは、ＭＰＥＧ−２等の符号化方式によって符号化されたデータ列（ビットストリーム）である。以下、ストリームデータを単にストリームという。
【００３０】
この実施の形態では、ストリーム切り替え装置１は、複数のタイムスタンプ読み取り手段１０及びバッファ２０と、切り替え時刻判定手段３０と、切り替え手段４０とを備えている。また、ストリーム切り替え装置１は、２つのストリーム（ストリームＡ及びストリームＢ）を入力し、外部から、切り替え時刻を含む切り替え情報を入力されることで、ストリームの切り替えを行う。
【００３１】
タイムスタンプ読み取り手段１０は、入力されるストリームから、フレーム（コマ）単位に表示又は復号すべき時刻を示すタイムスタンプを読み取るものである。例えば、ＭＰＥＧ−２では、基準時間のどこで復号し、いつ再生すればよいかを示すタイムスタンプが、ＰＥＳ（Ｐａｃｋｅｔｉｚｅｄ  Ｅｌｅｍｅｎｔａｒｙ  Ｓｔｒｅａｍ）パケットヘッダにＤＴＳ（Ｄｅｃｏｄｉｎｇ  Ｔｉｍｅ  Ｓｔａｍｐ）及びＰＴＳ（Ｐｒｅｓｅｎｔａｔｉｏｎ  Ｔｉｍｅ  Ｓｔａｍｐ）として記述されている。例えば、このタイムスタンプ読み取り手段１０では、表示タイムスタンプ（ＰＴＳ）を読み出すものとする。
【００３２】
なお、ストリーム切り替え装置１は、タイムスタンプ読み取り手段１０を入力ストリーム毎に備えており、ここでは、２つのストリームに対応付けてタイムスタンプ読み取り手段１０ａ及びタイムスタンプ読み取り手段１０ｂを備えている。また、ここで読み取られたタイムスタンプ（Ａｔ、Ｂｔ）は切り替え時刻判定手段３０へ通知される。
【００３３】
バッファ（蓄積遅延手段）２０は、入力されたストリームを逐次記憶するものである。ストリーム切り替え装置１では、バッファ２０を、入力ストリーム毎に設け、バッファ２０ａ及びバッファ２０ｂを備えている。このバッファ２０ａ及びバッファ２０ｂに書き込まれているストリームは、切り替え手段４０によって、いずれか一方のみが読み出される。
【００３４】
なお、このバッファ２０へのストリームの書き込みは、切り替え時刻判定手段３０から出力される書き込み制御情報によって制御される。例えば、書き込み制御情報が、「書き込み許可」となっている場合は、入力されたストリームがバッファ２０へ書き込まれる。また、書き込み制御情報が、「書き込み禁止」となっている場合は、バッファ２０への書き込みは行われず、入力されたストリームは廃棄される。
【００３５】
また、このバッファ２０からの読み出しは、切り替え時刻判定手段３０から出力される読み出し制御情報によって制御される。例えば、読み出し制御情報が、「読み出し許可」となっている場合は、バッファ２０からストリームを読み出すことが可能になる。また、読み出し制御信号が、「読み出し禁止」となっている場合は、バッファ２０からストリームを読み出すことができない。
この書き込み制御情報及び読み出し制御情報は、ハードウェア信号として、Ｒｅａｄ／ＷｒｉｔｅのＥｎａｂｌｅ／Ｄｉｓａｂｌｅ信号として実現することができる。
【００３６】
切り替え時刻判定手段３０は、タイムスタンプ読み取り手段１０が読み取ったタイムスタンプと、外部から入力された切り替え情報である切り替え時刻とを比較して、切り替えのタイミングを判定し、バッファ２０へのストリームの書き込みと、バッファ２０からのデータの読み出しの制御を行うものである。なお、切り替え情報は、ストリーム切り替え装置１において、ストリームを切り替える時刻、切り替え先等を示す情報である。ここでは、切り替え時刻判定手段３０は、切り替え元制御部３１と切り替え先制御部３２とを備えている。
【００３７】
切り替え元制御部（切り替え元制御手段）３１は、切り替え前のストリームからタイムスタンプ読み取り手段１０（１０ａ又は１０ｂ）が読み取ったタイムスタンプと、切り替え時刻とを比較して、タイムスタンプが切り替え時刻を超過した段階で、切り替え前にストリームが入力されているバッファ２０（２０ａ又は２０ｂ）の書き込み及び読み出しを禁止するものである。このバッファ２０の書き込み及び読み出しの禁止は、書き込み制御情報及び読み出し制御情報として、バッファ２０へ出力される。
また、切り替え元制御部３１は、バッファ２０（２０ａ又は２０ｂ）の書き込み及び読み出しの禁止を行った段階で、切り替え手段４０に対して、切り替え指示を通知する。
【００３８】
例えば、ストリームＡからストリームＢに切り替えを行う場合、切り替え元制御部３１は、タイムスタンプ読み取り手段１０ａで読み取ったタイムスタンプＡｔと、切り替え時刻とを比較して、タイムスタンプＡｔが切り替え時刻を超過した段階で、バッファ２０ａの書き込み及び読み出しの禁止を行う。そして、切り替え手段４０に対して、切り替え指示を通知する。
【００３９】
切り替え先制御部（切り替え先制御手段）３２は、切り替え先のストリームからタイムスタンプ読み取り手段１０（１０ａ又は１０ｂ）が読み取ったタイムスタンプと、切り替え時刻とを比較して、タイムスタンプが切り替え時刻を超過した段階で、切り替え後にストリームが入力されるバッファ２０（２０ａ又は２０ｂ）への書き込みを許可するものである。なお、切り替え先制御部３２は、切り替え手段４０から通知される読み出し完了通知を通知されることで、切り替え後にストリームが入力されるバッファ２０（２０ａ又は２０ｂ）からの読み出しを許可する。
【００４０】
例えば、ストリームＡからストリームＢに切り替えを行う場合、切り替え先制御部３２は、タイムスタンプ読み取り手段１０ｂで読み取ったタイムスタンプＢｔと、切り替え時刻とを比較して、タイムスタンプＢｔが切り替え時刻を超過した段階で、バッファ２０ｂの書き込みを許可する。そして、切り替え手段４０からバッファ２０ａの読み出しが完了した読み出し完了通知を通知された段階で、バッファ２０ｂの読み出しを許可する。
【００４１】
切り替え手段４０は、切り替え時刻判定手段３０から通知される切り替え指示に基づいて、切り替え元のストリームを蓄積しているバッファ２０から、切り替え先のストリームを蓄積しているバッファ２０へ読み出しを切り替え、その読み出したストリームを出力するものである。
【００４２】
なお、切り替え手段４０は、切り替え指示が通知された段階では、読み出しの切り替えを行わず、切り替え元のバッファ２０に蓄積されているストリームの読み出しが完了した段階で、読み出し完了通知を切り替え時刻判定手段３０に通知して、読み出しの切り替えを行う。
このように、ストリーム切り替え装置１を構成することで、送信側から送出される複数のストリームがネットワークを経由することで、ストリーム毎に到着時刻が異なっても、ストリームの順番通りに切り替えを行うことができる。
【００４３】
また、ここでは、２つのストリーム（ストリームＡ及びストリームＢ）を入力することとして説明を行ったが、３つ以上のストリームを入力して、ストリームの切り替えを行う場合であっても、本発明を適用することができる。例えば、タイムスタンプ１０及びバッファ２０をストリームの数だけ接続した構成とすればよい。この場合であっても、切り替え時刻判定手段３０の切り替え元制御部３１及び切り替え先制御部３２は、それぞれ、切り替え元及び切り替え先のストリームのみを監視すればよい。
【００４４】
なお、ストリーム切り替え装置１は、一般的なコンピュータにプログラムを実行させ、コンピュータ内の演算装置や記憶装置を動作させることにより実現することができる。このプログラム（ストリーム切り替えプログラム）は、通信回線を介して配付することも可能であるし、ＣＤ−ＲＯＭ等の記録媒体に書き込んで配付することも可能である。
【００４５】
（ストリーム切り替え装置の動作）
次に、図２乃至図４を参照（適宜図１参照）して、本発明における第一の実施の形態に係るストリーム切り替え装置１の動作について説明する。図２は、ストリーム切り替え装置１のストリームの切り替え動作を示すフローチャートである。図３は、ストリーム切り替え時の切り替え元制御部３１の動作を示すフローチャートである。図４は、ストリーム切り替え時の切り替え先制御部３２の動作を示すフローチャートである。
なお、ここでは、ストリーム切り替え装置１において、ストリームＡが予め選択されて出力されている状態から、切り替え時刻ｔで、ストリームＢに出力が切り替る動作について説明する。
【００４６】
まず、図２でストリーム切り替え装置１のストリームの切り替え動作の全体的な流れを説明する。図２に示すように、ストリーム切り替え装置１は、切り替え時刻判定手段３０によって、外部から切り替え情報を入力する（ステップＳ１）。この切り替え情報には、ストリームを切り替える時刻（切り替え時刻ｔ）、切り替え先（ここではストリームＢ）が含まれているものとする。
【００４７】
そして、ストリーム切り替え装置１は、現在出力している切り替え元のストリームであるストリームＡのタイムスタンプＡｔを、タイムスタンプ読み取り手段１０ａで読み取り、切り替え先のストリームであるストリームＢのタイムスタンプＢｔを、タイムスタンプ読み取り手段１０ｂで読み取る（ステップＳ２；タイムスタンプ読み取りステップ）。なお、タイムスタンプ読み取り手段１０は、切り替え情報が切り替え時刻判定手段３０に入力された段階で、タイムスタンプを読み取ることとしてもよいし、常に入力されているストリームのタイムスタンプを読み取ることとしてもよい。
【００４８】
また、ストリーム切り替え装置１は、切り替え時刻判定手段３０によって、切り替え時刻と、切り替え元のストリームのタイムスタンプ及び切り替え先のストリームのタイムスタンプとに基づいて、バッファ２０（２０ａ及び２０ｂ）の書き込み及び読み出しを制御し、切り替え手段４０に対して切り替え指示を通知する（ステップＳ３；切り替え元蓄積停止ステップ及び切り替え先蓄積開始ステップ）。なお、このステップＳ３の詳細な動作については、図３及び図４で説明を行う。
【００４９】
そして、ストリーム切り替え装置１は、切り替え手段４０によって、読み出すバッファ２０をバッファ２０ａからバッファ２０ｂに切り替えて、逐次バッファ２０ｂからストリームＢを読み出して出力する（ステップＳ４；切り替え実行ステップ）。
以上の動作によって、ストリーム切り替え装置１は、ストリームの切り替えをタイムスタンプで示されている時刻の順番通りに行うことができる。
【００５０】
次に、ステップＳ３の詳細な動作について説明する。このステップＳ３の動作は、切り替え元制御部３１の動作と、切り替え先制御部３２の動作とに大きく分けられる。以下、切り替え元制御部３１及び切り替え先制御部３２の動作について、個々に説明する。
【００５１】
〔切り替え元制御部３１の動作〕
まず、図３を参照（適宜図１参照）して、切り替え元制御部３１の動作について説明する。
切り替え元制御部３１は、ストリームＡのタイムスタンプＡｔをタイムスタンプ読み取り手段１０ａから取得する（ステップＳ１１）。そして、切り替え元制御部３１は、タイムスタンプＡｔと切り替え時刻ｔとを比較し、タイムスタンプＡｔが切り替え時刻ｔ以下であるかどうかを判定する（ステップＳ１２）。
【００５２】
ここで、切り替え元制御部３１は、タイムスタンプＡｔが切り替え時刻ｔ以下の場合（ステップＳ１２でＹｅｓ）、すなわち、切り替え時刻ｔのストリームが到着するまでは、切り替え元制御部３１は、バッファ２０ａの書き込みを許可し（ステップＳ１３）、さらにバッファ２０ａの読み出しを許可する（ステップＳ１４）。そして、ステップＳ１１へ戻って、動作を継続する。
【００５３】
一方、タイムスタンプＡｔが切り替え時刻ｔより大きくなった場合（ステップＳ１２でＮｏ）、すなわち、切り替え時刻ｔより後のストリームが到着した場合、切り替え元制御部３１は、バッファ２０ａの書き込みを禁止し（ステップＳ１５）、さらにバッファ２０ａの読み出しを禁止する（ステップＳ１６）。
【００５４】
そして、切り替え元制御部３１は、切り替え手段４０に対して、読み出しバッファを、バッファ２０ａからバッファ２０ｂへ切り替える旨の切り替え指示を通知する（ステップＳ１７）。
これによって、切り替え元制御部３１は、切り替え元のバッファ２０ａに対する書き込みと読み出しを禁止し、ストリーム切り替え装置１におけるストリームＡの入出力が停止される。
【００５５】
〔切り替え先制御部３２の動作〕
次に、図４を参照（適宜図１参照）して、切り替え先制御部３２の動作について説明する。
切り替え先制御部３２は、ストリームＢのタイムスタンプＢｔをタイムスタンプ読み取り手段１０ｂから取得する（ステップＳ２１）。そして、切り替え先制御部３２は、タイムスタンプＢｔと切り替え時刻ｔとを比較し、タイムスタンプＢｔが切り替え時刻ｔより大きいかどうかを判定する（ステップＳ２２）。
【００５６】
ここで、切り替え先制御部３２は、タイムスタンプＢｔが切り替え時刻ｔより大きい場合（ステップＳ２２でＹｅｓ）、すなわち、切り替え時刻ｔより後のストリームが到着した場合、切り替え先制御部３２は、バッファ２０ｂの書き込みを許可し（ステップＳ２３）、ステップＳ２４へ進む。一方、タイムスタンプＢｔが切り替え時刻ｔ以下の場合（ステップＳ２２でＮｏ）、すなわち、切り替え時刻ｔ以降のストリームが到着するまでは、切り替え先制御部３２は、ステップＳ２１へ戻って、動作を継続する。
そして、切り替え先制御部３２は、切り替え手段４０が切り替え時刻ｔのストリームＡｔの読み出しを完了したかどうかを、切り替え手段４０からの「読み出し完了通知」によって判断する（ステップＳ２４）。
【００５７】
ここで、切り替え時刻ｔのストリームＡｔの読み出しが完了している場合（ステップＳ２４でＹｅｓ）、切り替え先制御部３２は、バッファ２０ｂの読み出しを許可して（ステップＳ２５）、動作を終了する。一方、切り替え時刻ｔのストリームＡｔの読み出しが完了していない場合（ステップＳ２４でＮｏ）、切り替え先制御部３２は、ステップＳ２１へ戻って、動作を継続する。
これによって、切り替え先制御部３２は、切り替え先のバッファ２０ｂに対する書き込みと読み出しとを許可し、ストリーム切り替え装置１におけるストリームＢの入出力が開始される。
【００５８】
（ストリームの切り替え例）
次に、図５（適宜図１参照）を参照して、ストリーム切り替え装置１におけるストリームの切り替え例を具体的に説明する。図５（ａ）は、ストリーム切り替え装置１に入力されるストリームＡ及びストリームＢを時刻Ｔの変化に伴って時系列に表したものである。図５（ｂ）は、切り替え時刻ｔにストリームＡからストリームＢに切り替ったときの、ストリーム切り替え装置１の出力を時系列に表したものである。図５（ｃ）は、切り替え時刻ｔにストリームＢからストリームＡに切り替ったときの、ストリーム切り替え装置１の出力を時系列に表したものである。なお、ここでは、各データＡｔ−２、Ａｔ−１等は、フレーム単位のパケットデータとする。
【００５９】
図５（ａ）に示すように、ストリームＡは、時系列にＡｔ−２、Ａｔ−１、Ａｔ、Ａｔ＋１、Ａｔ＋２…の順番に、ネットワークを介して、ストリーム切り替え装置１に入力される。また、ストリームＢは、時系列にＢｔ−１、Ｂｔ、Ｂｔ＋１、Ｂｔ＋２、Ｂｔ＋３、Ｂｔ＋４…の順番に、ネットワークを介して、ストリーム切り替え装置１に入力される。このストリームＡ及びＢは、ネットワークを介して配信されることで遅延が発生し、例えば、パケットデータＢｔの後に時間的に１つ前のパケットデータＡｔ−１が遅れて到着している。
【００６０】
この図５（ａ）で示した入力ストリームに対して、ストリームＡからストリームＢに切り替え時刻ｔで切り替えを行うと、図５（ｂ）に示すように、ストリーム切り替え装置１は、切り替え時刻ｔまでストリームＡ（Ａｔ−２、Ａｔ−１、Ａｔ）を出力する。なお、ストリーム切り替え装置１は、ストリームＡのパケットデータＡｔの入力前に、パケットデータＡｔの後に出力すべきストリームＢのパケットデータＢｔ＋１がすでに入力されている。このパケットデータＢｔ＋１は、バッファ２０ｂに蓄積され、遅延されて出力される。
【００６１】
また、図５（ａ）で示した入力ストリームに対して、ストリームＢからストリームＡに切り替え時刻ｔで切り替えを行うと、図５（ｃ）に示すように、ストリーム切り替え装置１は、切り替え時刻ｔまでストリームＢ（Ｂｔ−１、Ｂｔ）を出力する。それ以降のパケットデータＢｔ＋１、Ｂｔ＋２…は、切り替え元制御部３１が、バッファ２０ｂの書き込み及び読み出しの禁止を行うため、出力されない。そして、切り替え先のストリームＡのパケットデータＡｔ＋１が到着した段階でストリームＡの出力が行われる。
このように、ストリーム切り替え装置１は、ネットワークを介して遅延が発生したストリームであっても、時系列に正しい順番でストリームの切り替えを行うことができる。
【００６２】
（ストリーム切り替え装置の構成；第二の実施の形態）
次に、図６を参照して、本発明における第二の実施の形態に係るストリーム切り替え装置の構成について説明する。図６は、本発明における第二の実施の形態に係るストリーム切り替え装置１Ｂの構成を示したブロック図である。ストリーム切り替え装置１Ｂは、図１に示したストリーム切り替え装置１と同様、ネットワークを介して入力される複数のストリームデータを、外部から入力される切り替え時刻のタイミングで切り替えて出力するものである。さらに、ストリーム切り替え装置１Ｂは、時刻ずれ許容時間に基づいて、ストリームの切り替えを実行する。
【００６３】
この実施の形態では、ストリーム切り替え装置１Ｂは、複数のタイムスタンプ読み取り手段１０及びバッファ２０と、切り替え時刻判定手段３０Ｂと、切り替え手段４０とを備えている。切り替え時刻判定手段３０Ｂ以外の構成は、図１に示したものと同一であるので、同一の符号を付し、説明を省略する。
【００６４】
切り替え時刻判定手段３０Ｂは、タイムスタンプ読み取り手段１０が読み取ったタイムスタンプで示される時刻と、外部から入力された切り替え情報である切り替え時刻と、時刻ずれ許容時間とに基づいて、切り替えのタイミングを判定し、バッファ２０へのストリームの書き込みと、バッファ２０からのデータの読み出しの制御を行うものである。なお、時刻ずれ許容時間は、切り替え時刻経過後、切り替え元のストリームが遅延して、切り替え時刻のストリームが到着していない場合において、どれだけその遅延を許容するかを示す時間である。
【００６５】
この許容する遅延時間を長く設定すると、フレームの欠落する確率を低くすることができるが、ストリームを図示していない復号器で復号する際のバッファを大きくする必要があり、ストリームが復号器に到着してから表示されるまでの時間が長くなる。また、逆に許容する遅延時間を短く設定すると、復号器で復号し表示されるまでの時間は短くなるが、フレームの欠落する確率が高くなる。
ここでは、切り替え時刻判定手段３０Ｂは、切り替え元制御部３１と切り替え先制御部３２Ｂとを備えている。切り替え元制御部３１は、図１に示したものと同一であるので、説明を省略する。
【００６６】
切り替え先制御部（切り替え先制御手段）３２Ｂは、図１に示した切り替え先制御部３２と同一の機能を有し、さらに、切り替え時刻経過後、切り替え元のストリームが遅延して、切り替え時刻のストリームが到着していない場合であっても、時刻ずれ許容時間を超過した段階で、ストリームの切り替えを実行するものである。この時刻ずれ許容時間は外部から入力する形態であってもよいし、予め許容時間を設定し内部に保持しておく形態であっても構わない。また、切り替え先制御部３２Ｂは、内部に時刻ずれ測定部３３を備えて構成している。
【００６７】
時刻ずれ測定部（時刻ずれ測定手段）３３は、図示していないタイマから現在の時刻を取得し、切り替え時刻の切り替え元ストリームを受信するまでの時刻のずれを測定するものである。
このように、ストリーム切り替え装置１Ｂを構成することで、ネットワークを介して、ストリームが大きく遅延する場合であっても、ストリームの切り替えを許容範囲内で行うことができる。
【００６８】
〔切り替え先制御部３２Ｂの動作〕
次に、図７を参照（適宜図６参照）して、切り替え先制御部３２Ｂの動作について説明する。なお、ストリーム切り替え装置１Ｂ全体の動作、及び、切り替え元制御部３１の動作については、図２及び図３に示したフローチャートと同一であるので説明を省略し、ここでは、切り替え先制御部３２Ｂの動作についてのみ説明することとする。図７は、ストリーム切り替え時の切り替え先制御部３２Ｂの動作を示すフローチャートである。なお、ここでは、ストリームＡからストリームＢに出力を切り替えるものとする。
【００６９】
まず、切り替え元制御部３２Ｂは、ストリームＡのタイムスタンプＡｔ及びストリームＢのタイムスタンプＢｔを、それぞれタイムスタンプ読み取り手段１０ａ及びタイムスタンプ読み取り手段１０ｂから取得する（ステップＳ３１）。そして、切り替え先制御部３２Ｂは、タイムスタンプＢｔと切り替え時刻ｔとを比較し、タイムスタンプＢｔが切り替え時刻ｔより大きいかどうかを判定する（ステップＳ３２）。
【００７０】
ここで、切り替え先制御部３２Ｂは、タイムスタンプＢｔが切り替え時刻ｔより大きい場合（ステップＳ３２でＹｅｓ）、すなわち、切り替え時刻ｔより後のストリームが到着した場合、切り替え先制御部３２Ｂは、バッファ２０ｂの書き込みを許可し（ステップＳ３３）、ステップＳ３４へ進む。一方、タイムスタンプＢｔが切り替え時刻ｔ以下の場合（ステップＳ３２でＮｏ）、すなわち、切り替え時刻ｔ以降のストリームが到着するまでは、切り替え先制御部３２Ｂは、ステップＳ３１へ戻って、動作を継続する。
【００７１】
そして、切り替え先制御部３２Ｂは、タイムスタンプＡｔと切り替え時刻ｔとを比較し、タイムスタンプＡｔが切り替え時刻ｔ以下であるかどうかを判定する（ステップＳ３４）。ここで、タイムスタンプＡｔが切り替え時刻ｔ以下の場合（ステップＳ３４でＹｅｓ）、すなわち、切り替え時刻ｔのストリームＡｔが到着していない場合は、さらに、現在時刻と最後に受信したストリームＡのタイムスタンプＡｔとの差が、時刻ずれ許容時間Δｔ以下であるかどうかを判定する（ステップＳ３５）。ここで、時刻ずれ許容時間Δｔ以下である場合（ステップＳ３５でＹｅｓ）は、ステップＳ３１へ戻って、動作を継続する。
【００７２】
そして、タイムスタンプＡｔが切り替え時刻ｔより大きい場合（ステップＳ３４でＮｏ）、すなわち、切り替え時刻ｔより後のストリームが到着した場合、あるいは、現在時刻と最後に受信したストリームＡのタイムスタンプＡｔとの差が、時刻ずれ許容時間Δｔより大きい場合（ステップＳ３５でＮｏ）、切り替え先制御部３２Ｂは、切り替え手段４０に対して、読み出しバッファを、バッファ２０ａからバッファ２０ｂへ切り替える旨の切り替え指示を通知する（ステップＳ３６）。そして、切り替え先制御部３２Ｂは、バッファ２０ｂの読み出しを許可して（ステップＳ３７）、動作を終了する。
【００７３】
以上の動作によって、切り替え先制御部３２Ｂは、切り替え元のストリームが大きく遅延したばあいであっても、時刻ずれ許容時間内でストリームの切り替えを行うことができる。
【００７４】
なお、時刻ずれ測定部３３は、現在時刻と切り替え元ストリームを受信するまでの時刻との時刻ずれを測定することとしているが、現在時刻の代わりに、切り替え先のストリームのタイムスタンプで示された時刻との時刻のずれを測定することとしてもよい。
【００７５】
この場合、時刻ずれ測定部３３は、切り替え先のストリームのタイムスタンプを取得し、切り替え時刻の切り替え元ストリームを受信するまでの時刻ずれを測定することとする。また、図７のステップＳ３５においては、タイムスタンプＢｔと最後に受信したストリームＡのタイムスタンプＡｔとの差が、時刻ずれ許容時間Δｔ以下であるかどうかを判定することになる。
【００７６】
（表示時刻補正装置の構成）
次に、図８を参照して、本発明における表示時刻補正装置について説明する。図８は、本発明における表示時刻補正装置２の構成を示したブロック図である。表示時刻補正装置２は、ネットワークを介して入力される複数のストリームデータを、外部から入力される切り替え時刻のタイミングで切り替えて、表示データとして出力するものである。
【００７７】
ここでは、表示時刻補正装置２は、ストリーム切り替え装置１Ｂと、タイムスタンプ読み取り手段１０（１０ｃ）と、復号手段５０と、フレームメモリ６０と、出力手段７０と、時刻ずれ判定手段８０とを備えている。ストリーム切り替え装置１Ｂは、図６で説明したものと同一であるので説明を省略する。
【００７８】
タイムスタンプ読み取り手段（フレームタイムスタンプ読み取り手段）１０ｃは、ストリーム切り替え装置１Ｂから出力されるストリームから、フレーム（コマ）単位にタイムスタンプを読み取るものである。ここで読み取られたタイムスタンプは、時刻ずれ判定手段８０へ通知される。
【００７９】
復号手段５０は、ストリーム切り替え装置１Ｂから出力されるストリームを復号するものである。ここで復号されたフレーム（フレーム画像）はフレームメモリ６０に蓄積される。例えば、ストリームがＭＰＥＧ−２のトランスポートストリームである場合、動き補償を行うブロック（例えば８ライン×８画素）単位で復号を行う。
【００８０】
フレームメモリ（フレーム蓄積手段）６０は、復号手段５０で復号されたフレームを蓄積するものである。このフレームメモリ６０に蓄積されたフレームは、出力手段７０によって時系列に読み出される。
【００８１】
出力手段７０は、フレームメモリ６０に蓄積されたフレームを時系列に読み出して、所定のフレーム送出間隔で出力するものである。この所定のフレーム間隔とは、単位時間におけるフレームの送出枚数を単位時間で除算した値である。例えば、映像の１秒間のコマ数が３０コマである場合、すなわち、３０ｆｐｓ（ｆｒａｍｅ  ｐｅｒ  ｓｅｃｏｎｄ）の場合、フレーム間隔は、３３．３ｍｓとなる。
【００８２】
なお、出力手段７０は、時刻ずれ判定手段８０から通知される「フレーム再出力指示」に基づいて、同一フレームを再送したり、「フレームスキップ指示」に基づいて、フレームを読み飛ばして（スキップして）次のフレームを出力したりする。
【００８３】
時刻ずれ判定手段８０は、タイムスタンプ読み取り手段１０ｃで読み取られたタイムスタンプと、フレームの到着時刻のずれに基づいて、フレームメモリ６０に蓄積されているフレーム（フレーム画像）から送出すべきフレームをスキップしたり、再出力したりする指示を出力手段７０に対して通知するものである。ここでは、時刻ずれ判定手段８０は、フレーム時刻ずれ測定部８１と、フレーム繰り返し部８２と、フレームスキップ部８３とを備えている。
【００８４】
フレーム時刻ずれ測定部（フレーム時刻ずれ測定手段）８１は、タイムスタンプ読み取り手段１０ｃで読み取られたタイムスタンプに示された時刻と、図示していないタイマから取得した現在の時刻との時刻のずれを測定するものである。
【００８５】
フレーム繰り返し部（フレーム繰り返し手段）８２は、フレーム時刻ずれ測定部８１で測定された時刻のずれに基づいて、読み取られたタイムスタンプに示された時刻が、現在の時刻と比較して再出力判定時間により示される許容値を超えて遅れている場合に、出力手段７０に対して、前回送出したフレームと同一のフレームを再出力する「フレーム再出力指示」を通知するものである。
なお、再出力するフレーム数は、予め定めた最大値を超えないこととする。これによって、フレームの繰り返しを視覚的に目立たなくすることができる。
【００８６】
フレームスキップ部（フレームスキップ手段）８３は、フレーム時刻ずれ測定部８１で測定された時刻のずれに基づいて、読み取られたタイムスタンプに示された時刻が、現在の時刻と比較してスキップ判定時間により示される許容値を超えて進んでおり、かつ、フレームメモリ６０にまだ送出していないフレームがあるときは、出力手段７０に対して、まだ送出していないフレームをスキップ（読み飛ばし）する「フレームスキップ指示」を通知するものである。
なお、スキップするフレーム数は、予め定めた最大値を超えないこととする。これによって、フレームのスキップを視覚的に目立たなくすることができる。
【００８７】
また、ここでは、再出力判定時間、スキップ判定時間、並びに、切り替え時刻判定手段３０Ｂに入力される時刻ずれ許容時間を同一時間として、時刻ずれ許容情報として、外部から入力することとしているが、予め内部に保持し、異なる時間としてもよい。またこれらの時間は、ストリームの付加情報として入力する形態であってもよい。
【００８８】
このように、表示時刻補正装置２を構成することで、ネットワークを介して、ストリームの到着時刻にバラツキがあっても、表示時刻を許容範囲内で調整することができる。
【００８９】
（表示時刻補正装置の動作）
次に、図９を参照（適宜図８参照）して、表示時刻補正装置２の動作について説明する。なお、ストリーム切り替え装置１Ｂの動作については、図２、図３及び図７で説明した動作と同じであるので、ここでは、ストリーム切り替え装置１Ｂから出力されるストリームから、表示時刻を調整して表示データ（フレーム）を出力させる時刻ずれ判定手段８０の動作について説明する。図９は、表示時刻補正装置２における時刻ずれ判定手段８０の動作を示したフローチャートである。
【００９０】
まず、時刻ずれ判定手段８０は、ストリーム切り替え装置１Ｂが出力するストリームのタイムスタンプを、タイムスタンプ読み取り手段１０ｃから取得する（ステップＳ４１）。そして、フレーム時刻ずれ測定部８１が、現在時刻とタイムスタンプとの時刻ずれを測定し、フレーム繰り返し部８２が、その時刻ずれ「現在時刻−タイムスタンプ」が再出力判定時間以内であるかどうかを判定する（ステップＳ４２）。
【００９１】
ここで、時刻ずれ「現在時刻−タイムスタンプ」が、再出力判定時間以内の場合（ステップＳ４２でＹｅｓ）は、ステップＳ４５へ進む。一方、時刻ずれが、再出力判定時間より長い場合（ステップＳ４２でＮｏ）、フレーム繰り返し部８２は、出力手段７０が最後に出力したフレームのタイムスタンプと、タイムスタンプ読み取り手段１０ｃで最後に読み取ったタイムスタンプとを比較し（ステップＳ４３）、最後に出力したフレームのタイムスタンプが最後に読み取ったタイムスタンプ未満の場合（ステップＳ４３でＹｅｓ）は、ステップＳ４１へ戻る。一方、最後に出力したフレームのタイムスタンプが最後に読み取ったタイムスタンプ以上の場合（ステップＳ４３でＮｏ）は、最後に出力したフレームを再出力する指示（「フレーム再出力指示」）を、出力手段７０へ通知して（ステップＳ４４）、ステップＳ４１へ戻って動作を続ける。
【００９２】
また、時刻ずれ判定手段８０のフレームスキップ部８３が、フレーム時刻ずれ測定部８１で測定した時刻ずれ「タイムスタンプ−現在時刻」がスキップ判定時間以内であるかどうかを判定する（ステップＳ４５）。
【００９３】
ここで、時刻ずれが、スキップ判定時間以内の場合（ステップＳ４５でＹｅｓ）は、ステップＳ４１へ戻って動作を続ける。一方、時刻ずれが、スキップ判定時間を超える場合（ステップＳ４５でＮｏ）、フレームスキップ部８３は、出力手段７０が次に出力予定のフレームのタイムスタンプと、タイムスタンプ読み取り手段１０ｃで読み取ったタイムスタンプとを比較し（ステップＳ４６）、次に出力予定のフレームのタイムスタンプが読み取ったタイムスタンプ未満の場合（ステップＳ４６でＹｅｓ）は、次に出力予定のフレームをスキップして、その次のフレームを出力する指示（「フレームスキップ指示」）を、出力手段７０へ通知し（ステップＳ４７）、ステップＳ４１へ戻って動作を続ける。一方、次に出力予定のフレームのタイムスタンプが読み取ったタイムスタンプ以上の場合（ステップＳ４６でＮｏ）は、そのままステップＳ４１へ戻って動作を続ける。
【００９４】
（フレームの出力例１；フレームのスキップ）
次に、図１０を参照（図８参照）して、表示時刻補正装置２におけるフレームをスキップする出力例を具体的に説明する。図１０（ａ）は、復号手段５０で復号されたフレーム（復号フレーム）を時刻Ｔの変化に伴って時系列に表したものであり、図５（ｂ）でストリームＡからストリームＢへ切り替ったときの状態を表している。図１０（ｂ）は、出力手段７０から出力されるフレーム（表示フレーム）を時系列に表したものである。
【００９５】
図１０（ａ）に示すように、復号フレームは、時系列にＡｔ−２、Ａｔ−１、Ａｔ、Ｂｔ＋１、Ｂｔ＋２、Ｂｔ＋３、Ｂｔ＋４…の順番に復号手段５０で復号される。タイムスタンプの「進み」の許容値を示すスキップ判定時間を“０”とすると、基準時刻ｔ＋１においては、タイムスタンプＢｔ＋２は許容値（スキップ判定時間）を超えて進んでいる。そこで、フレームスキップ部８３は、出力手段７０に対して、フレームメモリ６０にＢｔ＋２以前に出力されるべきフレームが残っていれば、そのフレームをスキップすることを指示する。この例では、復号フレームＢｔ＋１は、スキップフレームとして、出力手段７０からは読み飛ばされることになる。
【００９６】
これによって、表示時刻補正装置２は、図１０（ｂ）に示すように、表示時刻補正装置２内の基準時刻に沿って、フレーム送出間隔で、Ａｔ−２、Ａｔ−１、Ａｔ、Ｂｔ＋２、Ｂｔ＋３…の順番に表示フレームとして出力する。
【００９７】
（フレームの出力例２；フレームの繰り返し）
次に、図１１を参照（図８参照）して、表示時刻補正装置２におけるフレームを繰り返す出力例を具体的に説明する。図１１（ａ）は、復号手段５０で復号されたフレーム（復号フレーム）を時刻Ｔの変化に伴って時系列に表したものであり、図５（ｃ）でストリームＢからストリームＡへ切り替ったときの状態を表している。図１１（ｂ）は、出力手段７０から出力されるフレーム（表示フレーム）を時系列に表したものである。
【００９８】
図１１（ａ）に示すように、復号フレームは、時系列にＢｔ−１、Ｂｔ、Ａｔ＋１、Ａｔ＋２…の順番に復号手段５０で復号される。ここで、タイムスタンプの「遅れ」の許容値を示す再出力判定時間を“０”とすると、基準時刻ｔ＋１おいては、タイムスタンプ読み取り手段１０ｃで読み取った最新のタイムスタンプはＢｔであり、許容値（再出力判定時間）を超えている。そこで、フレーム繰り返し部８２は、出力手段７０に対して、フレームメモリ６０にＢｔの次に出力されるべきフレームが届いていない場合には、復号フレームＢｔを繰り返しフレームとして出力手段７０から再出力することを指示する。この例では、復号フレームＢｔは、繰り返しフレームとして、出力手段７０から繰り返して出力されることになる。
【００９９】
これによって、表示時刻補正装置２は、図１１（ｂ）に示すように、表示時刻補正装置２内の基準時刻に沿って、フレーム送出間隔で、Ｂｔ−１、Ｂｔ、Ｂｔ、Ａｔ＋１、Ａｔ＋２…の順番に表示フレームとして出力する。
【０１００】
【発明の効果】
以上説明したとおり、本発明に係るストリーム切り替え装置、ストリーム切り替え方法及びストリーム切り替えプログラム、並びに、表示時刻補正装置では、以下に示す優れた効果を奏する。
【０１０１】
請求項１、請求項３又は請求項４に記載の発明によれば、ネットワークを介して配信される複数のストリームデータを切り替える場合、ネットワークによる遅延が発生し、切り替え元と切り替え先とで、ストリームデータの到着時刻にずれがあっても、正しくストリームデータ間の切り替えを行うことができる。
【０１０２】
請求項２に記載の発明によれば、ネットワークによる遅延によって、切り替え時刻になって、切り替え元の切り替え時刻に対応するストリームが到着しない（又は遅い）場合であっても、時刻ずれ許容時間内で切り替え先のストリームデータに切り替えることができる。
【０１０３】
請求項５に記載の発明によれば、ネットワークによる遅延が発生し、ストリームデータの到着が遅れた場合であっても、表示フレームを繰り返して表示するため、視覚的に映像の途切れを目立たなくすることができる。さらに、ストリームデータの切り替え時に、切り替え先のストリームデータが早く到着した場合にも、フレーム内に残っているデータをスキップすることができるので、フレームの表示時刻を進めることができ、遅延の許容範囲内で表示時刻を補正することができる。
【図面の簡単な説明】
【図１】本発明の第一の実施の形態に係るストリーム切り替え装置の構成を示すブロック図である。
【図２】本発明の第一の実施の形態に係るストリーム切り替え装置の動作を示すフローチャートである。
【図３】本発明の第一の実施の形態に係る切り替え元制御部の動作を示すフローチャートである。
【図４】本発明の第一の実施の形態に係る切り替え先制御部の動作を示すフローチャートである。
【図５】ストリームの切り替えの例を説明するための説明図である。
【図６】本発明の第二の実施の形態に係るストリーム切り替え装置の構成を示すブロック図である。
【図７】本発明の第二の実施の形態に係る切り替え先制御部の動作を示すフローチャートである。
【図８】本発明に係る表示時刻補正装置の構成を示すブロック図である。
【図９】本発明に係る表示時刻補正装置の時刻ずれ判定手段の動作を示すフローチャートである。
【図１０】表示時刻補正装置においてフレームをスキップする例を説明するための説明図である。
【図１１】表示時刻補正装置においてフレームを繰り返す例を説明するための説明図である。
【符号の説明】
１、１Ｂ  ストリーム切り替え装置
２        表示時刻補正装置
１０（１０ａ、１０ｂ）  タイムスタンプ読み取り手段
１０（１０ｃ）          タイムスタンプ読み取り手段
（フレームタイムスタンプ読み取り手段）
２０      バッファ（蓄積遅延手段）
３０      切り替え時刻判定手段
３１      切り替え元制御部（切り替え元制御手段）
３２、３２Ｂ  切り替え先制御部（切り替え先制御手段）
３３      時刻ずれ測定部（時刻ずれ測定手段）
４０      切り替え手段
５０      復号手段
６０      フレームメモリ（フレーム蓄積手段）
７０      出力手段
８０      時刻ずれ判定手段
８１      フレーム時刻ずれ測定部（フレーム時刻ずれ測定手段）
８２      フレーム繰り返し部（フレーム繰り返し手段）
８３      フレームスキップ部（フレームスキップ手段）
【図１】
2004350237.tif 000003
【図２】
2004350237.tif 000004
【図３】
2004350237.tif 000005
【図４】
2004350237.tif 000006
【図５】
2004350237.tif 000007
【図６】
2004350237.tif 000008
【図７】
2004350237.tif 000009
【図８】
2004350237.tif 000010
【図９】
2004350237.tif 000011
【図１０】
2004350237.tif 000012
【図１１】
2004350237.tif 000013