(57)【要約】【課題】バースト出力の発生を防止したストリーム多重化送出装置を実現する。【解決手段】入力したストリームパケットを入力回線（２ａ〜２ｂ）に設けたチャネルバッファ（５ａ〜５ｎ）に一時的に蓄積し、選択したチャネルのパケットをパケット多重化部（４）に転送する。多重化制御を行う多重化制御部（６）は、各チャネルの伝送レート及びパケット長に関する情報を有し、これらの情報に基づいてチャネルを選択すると共にチャネル選択の時間間隔を規定する。チャネル選択の時間間隔は、選択したチャネルのパケット長を多重化伝送レートで除算した値とする。チャネルの伝送レート及びパケット長に関する情報が得られない場合、入力ストリーム情報から入力伝送レート及びパケット長を推定する入力伝送レート推定部（２０）用いることができる。さらに、入力ストリームにジッタが含まれる場合に対応するため、チャネル伝送レートをα倍だけ増大する仮想伝送レート設定部（１０）を設けることができる。【選択図】図１
2006157473.tif 000002
【特許請求の範囲】
【請求項１】
順次入力するストリームパケットを多重化して出力回線へ送出するストリーム多重化送出装置において、
入力したストリームパケットを一時的に蓄積するチャネルバッファをそれぞれ有し、伝送レートが設定されているチャネルを構成する複数の入力回線と、
選択されたチャネルのチャネルバッファから転送されてくるストリームパケットを多重化して出力回線へ出力するパケット多重化手段と、
前記各チャネルの伝送レート及びパケット長に関する情報並びに当該多重化送出装置の多重化伝送レートに関する情報を有し、チャネルの選択及びチャネル選択の時間間隔を制御する多重化制御手段とを具え、
前記パケット多重化手段は、前記多重化制御手段により選択されたチャネルを介して転送されるストリームパケットを前記制御された時間間隔で順次多重化することを特徴とするストリーム多重化送出装置。
【請求項２】
請求項１に記載のストリーム多重化送出装置において、前記多重化制御手段は、選択したチャネルのパケット長を前記多重化伝送レートで除算して得られる時間期間をチャネル選択の時間間隔とし、当該時間期間中チャネル選択を保留することを特徴とするストリーム多重化送出装置。
【請求項３】
請求項１又は２に記載のストリーム多重化送出装置において、前記多重化制御手段は、前記チャネル選択に際し、チャネルの伝送レートと多重化伝送レートとの比が、チャネルのパケット長と選択回数により得られるチャネル選択バイト数と当該多重化送出装置の目標多重化バイト数との比よりも大きなチャネルを選択することを特徴とするストリーム多重化送出装置。
【請求項４】
請求項１から３までのいずれか１項に記載のストリーム多重化送出装置において、前記多重化伝送レートを、全てのチャネルの伝送レートの合計値に等しいか又はそれ以上の値に設定することを特徴とするストリーム多重化送出装置。
【請求項５】
請求項３に記載のストリーム多重化送出装置において、前記多重化制御手段は、チャネルを選択する際、該当するチャネルが存在しない場合、所定の時間期間を積算して得た時刻を次のチャネルの選択時刻とすることを特徴とするストリーム多重化送出装置。
【請求項６】
請求項１から５までのいずれか１項に記載のストリーム多重化送出装置において、さらに、各チャネルの伝送レートをα倍（α≧１）だけ増大する仮想伝送レート設定手段を有し、
前記多重化制御手段は、前記仮想伝送レート設定手段により設定された各チャネルの仮想伝送レート及び仮想多重化伝送レートを受け取り、仮想多重化伝送レート及びチャネルの設定された仮想伝送レートを用いてチャネル選択及びチャネル選択の時間間隔の制御を行うことを特徴とするストリーム多重化送出装置。
【請求項７】
順次入力するストリームパケットを多重化して出力回線へ送出するストリーム多重化送出装置において、
入力したストリームパケットを一時的に蓄積するチャネルバッファをそれぞれ有し、多重化すべきストリームパケットを転送するチャネルを構成する複数の入力回線と、
選択されたチャネルのチャネルバッファから転送されてくるストリームパケットを多重化して出力回線へ出力するパケット多重化手段と、
各チャネルの伝送レート及びパケット長に関する情報を受け取り、当該パケット長、各チャネルの伝送レートをα倍（α≧１）だけ増大した仮想伝送レート、及び仮想伝送レートから求めた仮想多重化伝送レートを出力する仮想伝送レート設定手段と、
仮想伝送レート設定手段から出力された仮想多重化伝送レート、各チャネルの仮想伝送レート及びパケット長に関する情報を受け取り、チャネルの選択及びチャネル選択の時間間隔を制御する多重化制御手段と、
前記多重化制御手段により選択されたチャネルのストリームパケットを前記パケット多重化手段へ転送すべきか否かを判定する送出判定手段とを具えることを特徴とするストリーム多重化送出装置。
【請求項８】
請求項７に記載のストリーム多重化送出装置において、前記多重化制御手段は、選択したチャネルのパケット長を前記仮想多重化伝送レートで除算して得られる時間期間をチャネル選択の時間間隔とし、当該時間期間中チャネル選択を保留することを特徴とするストリーム多重化送出装置。
【請求項９】
請求項７又は８に記載のストリーム多重化送出装置において、前記多重化制御手段は、前記チャネル選択に際し、チャネルの仮想伝送レートと仮想多重化伝送レートとの比が、チャネルのパケット長と選択回数により得られるチャネル選択バイト数と当該多重化送出装置の目標多重化バイト数との比よりも大きなチャネルを選択することを特徴とするストリーム多重化送出装置。
【請求項１０】
請求項７から９までのいずれか１項に記載のストリーム多重化送出装置において、前記送出判定手段は、選択されたチャネルのチャネルバッファにストリームパケットが蓄積され、且つ当該選択されたチャネルの出力バイト数が所定のチャネル出力バイトの期待値以下の場合に前記選択したチャネルのストリームパケットを前記パケット多重化手段へ転送することを決定することを特徴とするストリーム多重化送出装置。
【請求項１１】
請求項７に記載のストリーム多重化送出装置において、前記仮想伝送レート設定手段は、前記仮想多重化伝送レートを全チャネルの仮想伝送レートの合計値以上の値に設定することを特徴とするストリーム多重化送出装置。
【請求項１２】
順次入力するストリームパケットを多重化して出力回線へ送出するストリーム多重化送出装置において、
入力したストリームパケットを一時的に蓄積するチャネルバッファをそれぞれ有し、多重化すべきストリームパケットを転送するチャネルを構成する複数の入力回線と、
選択されたチャネルのチャネルバッファから転送されてくるストリームパケットを多重化して出力回線へ出力するパケット多重化手段と、
入力ストリームに関する情報から各チャネルの伝送レート及びパケット長を推定ないし検出し、多重化伝送レートを設定する入力伝送レート推定手段と、
入力伝送レート推定手段から出力された各チャネルの伝送レート及びパケット長並びに多重化伝送レートに関する情報を受け取り、チャネルの選択及びチャネル選択の時間間隔を制御する多重化制御手段とを具え、
前記パケット多重化手段は、前記多重化制御手段により選択されたチャネルを介して転送されるストリームパケットを前記制御された時間間隔で順次多重化することを特徴とするストリーム多重化送出装置。
【請求項１３】
請求項１２に記載のストリーム多重化送出装置において、前記入力伝送レート推定手段は、単位時間期間中に前記チャネルバッファに入力したストリームのバイト数によりチャネルの伝送レート及びパケット長を推定又は検出することを特徴とするストリーム多重化送出装置。
【請求項１４】
請求項１２に記載のストリーム多重化送出装置において、前記入力伝送レート推定手段は、ストリームに記述されている伝送レート情報又はストリーム上の時刻情報により入力ストリームの伝送レート及びパケット長を推定することを特徴とするストリーム多重化送出装置。
【請求項１５】
順次入力するストリームパケットを多重化して出力回線へ送出するストリーム多重化送出装置において、
入力したストリームパケットを一時的に蓄積するチャネルバッファをそれぞれ有し、多重化すべきストリームパケットを転送するチャネルを構成する複数の入力回線と、
選択されたチャネルのチャネルバッファから転送されてくるストリームパケットを多重化して出力回線へ出力するパケット多重化手段と、
入力ストリームに関する情報から各チャネルの伝送レート及びパケット長を推定又は検出する入力伝送レート推定手段と、
入力伝送レート推定手段から出力された各チャネルの伝送レート及びパケット長に関する情報を受け取り、当該パケット長、各チャネルの伝送レートをα倍（α≧１）だけ増大した仮想伝送レート、及び仮想伝送レートから求めた仮想多重化伝送レートを出力する仮想伝送レート設定手段と、
仮想伝送レート設定手段から出力された仮想多重化伝送レート、各チャネルの仮想伝送レート及びパケット長に関する情報を受け取り、チャネルの選択及びチャネル選択の時間間隔を制御する多重化制御手段と、
前記多重化制御手段により選択されたチャネルから前記パケット多重化手段へストリームパケットを転送すべきか否かを判定する送出判定手段とを具えることを特徴とするストリーム多重化送出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のストリーミングデータを一定のビットレートを保ちながら1本の通信路に多重化して送信するストリーム多重化送出装置、特に瞬間的に高いビットレートでパケットが伝送路に出力されるのを防止したストリーム多重化送出装置に関するものである。
【背景技術】
【０００２】
IPネットワークでは、サーバが送信する映像音声データを、クライアントが逐次受信しながら再生する技術であるストリーミング型の情報提供サービスが行われるようになってきた。ストリーミング技術は、ライブ放送やTV電話などのビジュアルコミュニケーシンを可能とするだけでなく、映画等の大容量のコンテンツであってもダウンロードの完了を待つことなく視聴することが可能になり、大幅に利便性が向上する利点を有する。
【０００３】
電気通信役務利用放送法に基づくIP技術を用いた放送サービスでは、複数のクライアントに向けた同時放送を実現するために、IPマルチキャストの技術が用いられている。また、視聴者が見たい時間に見たい番組をサーバにリクエストして映画等の動画をストリーミングにより視聴するビデオオンデマンドサービスも実施されている。この結果、様々な品質の多数のコンテンツを同時にストリーミング形式で出力する必要性が高まっており、１つのサーバにおいて複数のストリーミングを効率的に行うことにより、サーバにかかるコストを低減させることができる。
【０００４】
ストリーミング送出装置では、リアルタイムエンコーダのような外部からの入力装置又はディスクアレイに代表されるデータ蓄積装置から同時に複数のストリーミングデータ（ストリーム）を入力してネットワークへ出力する際に、出力インタフェースへ多重化して出力することが必要となる。この時、入力したストリーミングデータ毎に独立にそれぞれのタイミングでパケット送出制御が行われた場合、ある時間期間中に１つのストリーミングデータの多数のパケットが連続して出力されたり、各ストリーミングデータ間において出力タイミングが重なった場合に、瞬間的に出力ビットレートが上昇することがある。その結果、ストリーミングデータの受信クライアントが全てのパケットの受信処理を行うことができず視聴品質の劣化を起こすことがあった。また、伝送速度の速いネットワークに接続されているストリーミング送出装置から伝送速度の遅いネットワークに接続されているクライアントにストリーミングデータを送出する際に、その２つのネットワーク間でIPパケットを中継するネットワーク機器において一時的にバッファ溢れが発生し、ストリーミングコンテンツを形成するパケットの一部が欠落し、コンテンツの品質劣化を招いていた。
【０００５】
従来のストリーミングデータの出力伝送レートを制限する手法として、ストリーミングパケット転送装置において、平均パケット間隔が待ち合わせタイマの最小タイマ周期以上の場合は平均パケット間隔をストリームパケットの読出し周期として待ち合わせタイマに設定すると共に一度に読み出すパケット数を１に設定し、一方、平均パケット間隔が最小タイマ周期未満の場合は最小タイマ周期を読出し周期として待ち合わせタイマに設定すると共に一度に読み出すパケット数を最小タイマ周期を平均パケット間隔で除算した結果から求めることにより、読み出すべき平均パケット間隔よりも長いタイマ機構を用いてパケットの瞬間的なストリーム速度の上昇を抑えることを目的とした技術が既知である（例えば、特許文献１参照）。
【０００６】
また、それとは別に、映像多重化方式として、映像をパケット化する映像信号パケット化回路と、一定時間内に通過するパケット数を計数してデータ速度を測定する有効データカウンタ回路と、測定したデータ速度から速度の速い順に優先順位をつける優先順位決定回路と、決定された優先順位に基づいて映像信号のパケットデータを切り換えて多重化データを生成する多重化回路とを具えることにより、素材の速度やパケットサイズが異なるデータであっても、搭載されるバッファの必要容量を減らし、コストを削減することを目的とした映像多重化装置が既知である（例えば、特許文献２参照）。
【０００７】
【特許文献１】特開２００４−２３１３１号公報
【特許文献２】特開２００４−２００９６７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
上述した特許文献１に記載されたパケットのストリーム速度上昇を抑える技術は、１つのストリーミングデータを制御対象としているため、複数のストリーミングデータが入力した場合これらストリーミングデータ間でのパケット間隔は制御されず、この手法を適用してストリームを複数合成すると、瞬間的な出力ビットレートの上昇を生じる欠点があった。
また、特許文献２に記載の優先順位を与えて多重する映像多重化装置では、データ速度に基づいてパケットの多重化が制御されるが、瞬間的なビットレートの上昇を抑えることはできない。
【０００９】
本発明の目的は、複数のストリームを多重化して送出するストリーム多重化装置において、出力インタフェースに短い時間に集中してパケットが出力され、瞬間的に高いビットレートでパケットが伝送路に出力されるのを防止することにある。
さらに、本発明の別の目的は、映像配信サーバから配信される多様なストリームないしコンテンツをバースト出力が発生しないように多重化して出力するパケット多重化送出装置を実現することにある。
さらに、本発明の別の目的は、ストリームサーバから出力される多様なストリームを、パケット滞留が生じることなく多重化することができるストリーム多重化送出装置を実現することにある。
【課題を解決するための手段】
【００１０】
本発明によるストリーム多重化送出装置は、順次入力するストリームパケットを多重化して出力回線へ送出するストリーム多重化送出装置において、
入力したストリームパケットを一時的に蓄積するチャネルバッファをそれぞれ有し、伝送レートが設定されているチャネルを構成する複数の入力回線と、
選択されたチャネルのチャネルバッファから転送されてくるストリームパケットを多重化して出力回線へ出力するパケット多重化手段と、
前記各チャネルの伝送レート及びパケット長に関する情報並びに当該多重化送出装置の多重化伝送レートに関する情報を有し、チャネルの選択及びチャネル選択の時間間隔を制御する多重化制御手段とを具え、
前記パケット多重化手段は、前記多重化制御手段により選択されたチャネルを介して転送されるストリームパケットを前記制御された時間間隔で順次多重化することを特徴とする。
【００１１】
本発明では、多重化伝送レート並びに各チャネルの伝送レート及びパケット長に基づいてチャネル選択及びチャネル選択の時間間隔を制御しているので、多数の多様なコンテンツないしストリームが同時に入力しても、瞬間的なバースト出力が生ずることなく多重化してシェーピングすることができる。
【００１２】
本発明による別のストリーム多重化送出装置は、順次入力するストリームパケットを多重化して出力回線へ送出するストリーム多重化送出装置において、
入力したストリームパケットを一時的に蓄積するチャネルバッファをそれぞれ有し、多重化すべきストリームパケットを転送するチャネルを構成する複数の入力回線と、
選択されたチャネルのチャネルバッファから転送されてくるストリームパケットを多重化して出力回線へ出力するパケット多重化手段と、
各チャネルの伝送レート及びパケット長に関する情報を受け取り、当該パケット長、各チャネルの伝送レートをα倍（α≧１）だけ増大した仮想伝送レート、及び仮想伝送レートから求めた仮想多重化伝送レートを出力する仮想伝送レート設定手段と、
仮想伝送レート設定手段から出力された仮想多重化伝送レート、各チャネルの仮想伝送レート及びパケット長に関する情報を受け取り、チャネルの選択及びチャネル選択の時間間隔を制御する多重化制御手段と、
前記多重化制御手段により選択されたチャネルから前記パケット多重化手段へストリームパケットを転送すべきか否かを判定する送出判定手段とを具えることを特徴とする。
【００１３】
本発明では、各チャネルの伝送レートをα倍（α≧１）だけ増大した仮想伝送レートで多重化処理を実行することができるので、チャネル選択の機会が増大する。この結果、入力ストリームにジッタが生じていても、チャネルバッファにバッファ溢れが発生する不具合を解消することができる。さらに、選択されたチャネルのストリームパケットをパケット多重化手段へ転送すべきか否かを判定する送出判定手段を有するので、本発明によるストリーム多重化送出装置から出力されるストリームを受信するクライアントにおいてバッファ溢れが生ずる不具合を解消することができる。
【００１４】
本発明による別のストリーム多重化送出装置は、順次入力するストリームパケットを多重化して出力回線へ送出するストリーム多重化送出装置において、
入力したストリームパケットを一時的に蓄積するチャネルバッファをそれぞれ有し、多重化すべきストリームパケットを転送するチャネルを構成する複数の入力回線と、
選択されたチャネルのチャネルバッファから転送されてくるストリームパケットを多重化して出力回線へ出力するパケット多重化手段と、
入力ストリームに関する情報から各チャネルの伝送レート及びパケット長を推定ないし検出し、多重化伝送レートを設定する入力伝送レート推定手段と、
入力伝送レート推定手段から出力された各チャネルの伝送レート及びパケット長並びに多重化伝送レートに関する情報を受け取り、チャネルの選択及びチャネル選択の時間間隔を制御する多重化制御手段とを具え、
前記パケット多重化手段は、前記多重化制御手段により選択されたチャネルを介して転送されるストリームパケットを前記制御された時間間隔で順次多重化することを特徴とする。
【００１５】
本発明によるストリーム多重化送出装置は、入力ストリームに関する情報から各チャネルの伝送レート及びパケット長を推定ないし検出する入力伝送レート推定手段を具えるので、各チャネルの伝送レート及びパケット長が既知でない場合であっても、適切にチャネルの選択及びチャネル選択の時間間隔の制御を行うことができ、この結果瞬間的なバースト出力の発生する不具合を解消することができる。
【００１６】
本発明による別のストリーム多重化送出装置は、順次入力するストリームパケットを多重化して出力回線へ送出するストリーム多重化送出装置において、
入力したストリームパケットを一時的に蓄積するチャネルバッファをそれぞれ有し、多重化すべきストリームパケットを転送するチャネルを構成する複数の入力回線と、
選択されたチャネルのチャネルバッファから転送されてくるストリームパケットを多重化して出力回線へ出力するパケット多重化手段と、
入力ストリームに関する情報から各チャネルの伝送レート及びパケット長を推定又は検出する入力伝送レート推定手段と、
入力伝送レート推定手段から出力された各チャネルの伝送レート及びパケット長に関する情報を受け取り、当該パケット長、各チャネルの伝送レートをα倍（α≧１）だけ増大した仮想伝送レート、及び仮想伝送レートから求めた仮想多重化伝送レートを出力する仮想伝送レート設定手段と、
仮想伝送レート設定手段から出力された仮想多重化伝送レート、各チャネルの仮想伝送レート及びパケット長に関する情報を受け取り、チャネルの選択及びチャネル選択の時間間隔を制御する多重化制御手段と、
前記多重化制御手段により選択されたチャネルから前記パケット多重化手段へストリームパケットを転送すべきか否かを判定する送出判定手段とを具えることを特徴とする。
【発明の効果】
【００１７】
多数の多様なコンテンツないしストリームが同時に入力しても、瞬間的なビットレートを抑えながら多重化することができる。
また、入力ストリームに関する情報から各チャネルの伝送レート及びパケット長を推定ないし検出する手段を設けることにより、各チャネルの伝送レート及びパケット長が既知でない場合であっても、瞬間的なバースト出力の発生を防止することができる。
さらに、各チャネルの伝送レートをα倍（α≧１）だけ増大する仮想伝送レート設定手段を設けることにより、入力ストリームにジッタが発生しても、チャネルバッファにバッファ溢れ等が生ずる不具合を解消することができる。
【発明を実施するための最良の形態】
【００１８】
図１は本発明によるストリーム多重化送出装置の第１実施例を示す線図である。本発明によるストリーム多重化送出装置１は、複数の入力回線２ａ〜２ｎと１本の出力回線３とを有し、入力回線と出力回線との間にストリーミングデータ（ストリームパケット）を多重化する多重化部４を具える。入力回線２ａ〜２ｎはストリームパケットを転送するチャネルを構成し、各入力回線は入力したストリームパケットを一時的に蓄積するチャネルバッファ５ａ〜５ｎをそれぞれ有する。入力回線２ａ〜２ｎは、入力インタフェース（図示せず）を介して例えばストリームサーバ（或いは、映像配信サーバ、コンテンツ配信サーバ、映像蓄積装置、ライブエンコーダ等を含む）に直接接続され又はネットワークインタフェースを介して映像配信サーバが接続されているネットワークに接続される。出力回線３は出力インタフェース（図示せず）を介して別のネットワークに接続され、当該ネットワークを介してクライアント端末にストリームパケットを送出する。従って、ストリームサーバから送出されたストリームは、入力インタフェースを介して本発明による多重化送出装置１に入力し、入力回線２ａ〜２ｎ及びチャネルバッファ５ａ〜５ｎを介して多重化部４に転送され、多重化制御部6の制御のもとで多重化されて出力回線３に出力され、出力インタフェース並びにネットワークを介してクラインアント端末に送信される。
【００１９】
チャネルを構成する各入力回線２ａ〜２ｎには、チャネル伝送レートＲi（ここでｉはｉ番目のチャネルを表す）及び当該チャネルを介して転送されるストリームパケットのパケット長Ｌiがそれぞれ設定され、これらチャネル伝送レート及びパケット長に関する情報は多重化制御部６に予め入力し記憶する。当該ストリーム多重化送出装置１には多重化伝送レートＲ0が設定され、この多重化伝送レートＲ0は、全てのチャネルのチャネル伝送レートＲiの合計値に等しいか又はそれ以上の値とする。
【００２０】
入力した各ストリームパケットは、入力回線のチャネルバッファに一旦蓄積される。多重化制御部６は、各チャネルのチャネル伝送レート及びパケット長に関する情報並びに設定されている多重化伝送レートに基づいて多重化すべきチャネルを選択し、選択されたチャネルのチャネルバッファに蓄積されているストリームパケットを多重化部に転送すると共にチャネル選択の時間間隔を制御する。このチャネル選択の時間間隔の制御は、選択したチャネルのパケット長Ｌiを多重化伝送レートＲ0で除算して得た時間期間とし、当該時間期間経過後に次に多重化されるチャネルの選択を行い、この時間期間中はチャネルの選択を停止する。
【００２１】
次に、多重化制御部によるチャネル選択について説明する。設定されている多重化伝送レートをＲ0とし、ｉ番目のチャネルの伝送レートをＲiとし、ｉ番目のチャネルを経て転送されるストリームパケットのパケット長をＬiとし、当該多重化送出装置の多重化開始時刻からチャネル選択を行う時刻までの多重化部４への出力バイト数の期待値ないし目標値である目標多重化バイト数をＢとし、ｉ番目のチャネルにおける多重化開始時刻からのチャネル毎のパケット長と選択回数により得られるチャネル選択バイト数すなわちｉ番目のチャネルの多重化開始時刻からの多重化されたストリームの累積バイト数をＢiとすると、あるチャネル選択時刻におけるチャネル選択は、以下の式を満たすチャネルｉを選択する。
（Ri／Ｒ0）×Ｂ−Ｂi≧０
この際、複数のチャネルが上記式を満たす場合、上記式の左辺の値が最も大きいチャネルを選択することができ、或いは上記式を満たすチャネルのうちの１つのチャネルを選択することもできる。
上記式において、Ri／Ｒ0は、多重化伝送レートにおけるｉ番目のチャネルの占める割合を示し、その値に目標多重化バイト数を乗算することによりチャネル選択時刻におけるチャネルｉから出力されるパケットが占めるべきバイト数が算出される。この値を当該チャネルｉの累積バイト数Ｂiと比較することにより、当該チャネルｉを選択すべきか否か容易に判定することができる。すなわち、上記式において、左辺の値が正の場合チャネルｉが選択されたバイト数の割合が少ないことを意味し、選択されるべきと判定することができ、一方、左辺の値が負の場合チャネル全体に対して当該チャネルｉの選択されたバイト数が多いことを示すため、選択すべきではないと判定する。
【００２２】
パケット多重化部４は、選択されたチャネルのチャネルバッファに蓄積されているストリームパケットを受け付ける。また、多重化制御部６は、選択したチャネルｉのチャネル選択バイト数ＢiをＬiだけ積算すると共に次のチャネル選択のタイミングをＬi／Ｒ0だけ経過した時刻とし、当該時刻まで他のチャネルの選択を停止する。尚、チャネル選択すべき時刻に選択されるチャネルが存在しない場合、当該時刻にある時間だけ積算した時刻を次のチャネル選択時刻とすることができる。
【００２３】
このように、各チャネルバッファからのパケット転送時刻を一括して制御することにより、各チャネルバッファが独立して多重化部にチャネルを転送する場合と比較して、パケット送出間隔を維持でき、多重化伝送レートに制限されることになる。この作用効果について、チャネル伝送レートが８Ｍbpsでパケット長が1500バイト（パケット送出間隔は1500μsec）のチャネルを１０チャネル用い、インタフェース速度１Ｇbpsの出力伝送路に多重化伝送レートが８０Ｍbpsで送出する場合を例にして説明する。本例において、各チャネルが独立にパケットの送出を行った場合、各ストリームの多重化部へのパケットの出力時刻が時間的に重なる可能性があり、全てのストリームにおいてパケット出力時刻が重なった場合、図２に示すように短時間でのパケット出力が集中し、多重化部においてバッファ溢れを起こしたり、インタフェース速度を上限とする多重化伝送レートで一時的に連続してパケットが出力される不具合が発生する。これに対して、本発明による制御方式に基づいてチャネル選択時刻を制御することにより、パケット長／多重化伝送レート（本例の場合、1500バイト／80Ｍbps＝150μsec）の送出間隔（チャネルバッファから多重化部へのパケットの転送を開始してから次のパケットの転送を開始するまでの時間間隔）でパケット転送が行われることになり、多重化伝送レートでの出力が制御できていることが理解される。
【００２４】
次に、本発明の第２の実施例について説明する。第２実施例の構成を図３に示す。尚、図３において、図１で用いた構成要素と同一の構成要素には同一符号を付し、その説明は省略する。本例では、図１に示す第１実施例のストリーム多重化送出装置に仮想伝送レート設定部１０及び送出判定部１１を付加し、各チャネルのチャネル伝送レートを基に仮想伝送レートを設定する機能及び選択したチャネルからのパケット送出の可否を決定する機能を有する。入力ストリームにジッタが生じている場合、一時的に設定されている伝送レートよりも高速にストリームがチャネルバッファに入力する場合があり、チャネルバッファにバッファ溢れが発生する可能性がある。そのため、本例では、設定されている伝送レートよりも速い伝送レートでチャネルバッファからのパケット出力を可能とするため、仮想伝送レート設定部においてチャネル伝送レートをα倍（α≧1.0）
とし、その値を仮想伝送レートとして設定する。また、仮想多重化伝送レートとして全チャネルの仮想伝送レートの合計値以上の値を設定する。このように仮想伝送レート及び仮想多重化伝送レートを設定することにより、チャネル選択の機会が増大し、チャネルバッファにおけるパケット滞留を回避することができる。
【００２５】
一方、長時間にわたって実際の基準伝送レートよりも高い伝送レートでパケットを出力し続けると、ストリームパケット送出装置から出力されるストリームを受信するクライアントにおいてバッファ破綻を起こすおそれがあるため、選択したチャネルから選択したパケットを送出するか否かを判定する機能として送出判定部１１を設け
る。尚、多重化制御部６と送出判定部１１の接続位置は逆に設定することも可能である。
【００２６】
次に、多重化処理について説明する。多重化制御部６は、設定された仮想多重化伝送レートで各チャネルのストリームを多重化するために、パケット毎の送出時刻であるチャネル選択時刻においてチャネル選択を行う。送出判定部１１は、多重化制御部により選択されたチャネルバッファにパケットが蓄積されており、且つ選択されたチャネルの出力バイト数が当該チャネルの出力バイトの期待値ないし目標値以下である場合にパケットを送出することを決定し、多重化制御部で選択したチャネルのバッファからのパケットを受け付け多重化する。
【００２７】
多重化制御部において多重化処理を開始するか、新たなチャネルが開始し又は終了し、仮想多重化伝送レートを更新した時刻を多重化開始時刻とし、以下の処理を行う。
直前のチャネル選択時刻に選択したチャネルのパケット長を仮想多重化伝送レートで除算した値を直前のチャネル選択時刻に積算することによりチャネル選択時刻を更新し、次のチャネル選択時刻まで多重化処理を停止する。
【００２８】
仮想多重化伝送レートをＲ’とし、多重化開始時刻からのチャネル選択時刻までの多重化部への出力バイト数の期待値である仮想目標多重化バイト数をＢ’とし、ストリームｉの仮想伝送レートをＲi’とし、多重化開始時刻からのチャネル毎のパケット長とチャネル選択回数により得られる仮想チャネル選択バイト数すなわち累積バイト数をＢi’とすると、あるチャネル選択時刻におけるチャネル選択は、例えば以下のように算出される。
（Ｒi’／Ｒ’）×Ｂ’−Ｂi’≧０   
上記式を満たすチャネルｉの１つが選択されたチャネルとなる。この時、複数のチャネルが上記式を満たす場合、上記式の左辺の値が最も大きいチャネルを選択する方法を用いることができ、又は上記式を満たすチャネルのうちの１つのチャネルを選択しても良い。尚、多重化制御部は、選択されたチャネルからパケットが出力されてもされなくてもＢi’をパケット長Ｌiだけ積算する。
【００２９】
次に、送出判定部１１の処理について説明する。送出判定部は、選択されたチャネルのチャネルバッファにパケットが蓄積されており、且つＢi≦ＴＢiの条件（ここで、Ｂiは多重化開始時刻からのチャネルの出力バイト数、ＴＢiはチャネルｉの出力バイト数の期待値）を満たす場合、選択したチャネルからパケットを送出することを決定する。ここで、チャネルｉの出力バイトの期待値ＴＢiは、多重化開始時刻からチャネル選択時刻までの経過時間をｔとすると、例えばＴＢi＝Ｒi×ｔ＋β（βはプラスの値又はマイナスの値）で表すことができる。例えば、βを当該ストリーム多重化送出装置から送出されるストリームを受信するクライアントのバッファサイズ以下の値とすることで、長時間継続してチャネルバッファへの入力が過大となるストリーム（例えば、ファイル入力の場合）であっても、クライアントにおけるバッファ溢れを防止することができる。
【００３０】
送出判定部において、多重化制御部により選択されたパケットを送出することが決定されると、パケット多重化部は当該選択されたチャネルからのパケットを受け付ける。次のチャネル選択時刻は、前回のチャネル選択時刻からＬi／Ｒ’だけ経過した時刻とする。尚、この時、チャネル選択時刻に選択されるチャネルが存在しない場合、チャネル選択時刻にある値だけ積算した時刻を次のチャネル選択時刻とする。このように、仮想多重化伝送レートを適用した多重化制御を行うことにより、入力ストリームにジッタがありパケット入力時間間隔が一定でない場合であっても、仮想多重化伝送レートに制限された出力が可能になる。
【００３１】
次に、本発明によるストリーム多重化送出装置の第３の実施例について説明する。第３実施例の構成を図４に示す。尚、図４において、図１で用いた構成要素と同一の構成要素には同一符号を付し、その説明は省略する。本例では、入力ストリームの伝送レート及びパケット長が既知でない場合に入力ストリームの情報を用いて入力ストリームの伝送レート及びパケット長を推定ないし検出する。図４に示すように、チャネルバッファ５ａ〜５ｎに入力伝送レート推定部２０を設け、各チャネルの伝送レート及び伝送されるストリームパケットのパケット長を推定ないし検出し、得られた各チャネルの伝送レート及びパケット長と、チャネル伝送レートに基づいて設定した多重化伝送レートを多重化制御部６に送信する。多重化制御部６は、受け取った多重化伝送レート及びパケット長を用いてチャネルの選択及びそのタイミングを決定する。
【００３２】
入力伝送レート推定部２０は、例えばある単位時間におけるチャネルバッファへのストリームの入力パケット数とそのパケット長から伝送レートを推定することができる。別の方法として、入力ストリームに記述されているビットレート情報やストリーム上の時刻を表すタイムスタンプ情報（時刻情報）から伝送レートを推定することができる。例えば、入力ストリームがMPEG-2トランスポートストリームである場合、連続する2つのPCR値の差分により算出されるストリーム上の経過時間を用いて、その間にチャネルバッファに入力したストリームのビット数を除算することにより、伝送レートを推定することができる。
【００３３】
本発明によるストリーム多重化送出装置の第４の実施例を図５に示す。尚、図５において、図３及び図４で用いた構成要素と同一の構成要素には同一符号を付し、その説明は省略する。本例では、図１に示す実施例に、入力伝送レート推定部２０、仮想伝送レート設定部１０及び送出判定部１１を設ける。このように、入力伝送レート推定部、仮想伝送レート設定部及び送出判定部を設けることにより、チャネルの伝送レート及びパケット長が未知の場合にも柔軟に対応することができると共に入力ストリームがジッタを含む場合であってもパケット溢れ等の不具合の発生を有効に防止することができる。
【００３４】
図６は本発明によるストリーム多重化シェーパの別の実施例を示す線図である。ストリームの入力信号源３０として、例えばネットワークインタフェース、ライブエンコーダ、ディスクを用いることができる。入力インタフェースを介して入力信号源から送信されてくるストリームは、入力チャネルバッファ３１ａ〜３１ｎに一時的に蓄積される。多重化制御部に対応するチャネルセレクタ３２には、各チャネルのビットレート及びパケット長を推定するための情報が入力する。チャネルセレクタは、これらの情報に基づいて多重化すべきチャネルを選択し、選択したチャネル番号をスイッチィング素子に供給する。そして、チャネルの選択はスイッチィング素子の切り換えにより行われる。送出判定部に対応する送出判定器３３にもビットレート及びパケット長を推定するための情報が供給されると共に、チャネルセレクタから選択したチャネル番号が供給され、さらにパケット多重化装置３４から各チャネルの出力バイト数が供給される。送出判定器３３は、受け取った情報に基づき、チャネルセレクタにより選択された番号のチャネルのパケットを出力するか否かについて判定し、その判定結果をスイッチィング素子に送信する。従って、チャネルセレクタにより選択され、送出判定器により出力すべきと判定されたパケットだけがパケット多重化装置３４に出力され、多重化処理されて出力回線に順次送出される。尚、チャネルの伝送レートを増大する仮想伝送レート設定部の機能はチャネルセレクタが有することができるので、チャネルセレクタが多重化制御部及び仮想伝送レート設定部の両方の機能を実行することができる。
【００３５】
次に、本発明によるストリーム送出装置の有効性を確認するためのシミュレーション実験の結果について説明する。本実験では、ストリームサーバからの出力ビットレートを計測した。本実験では、ストリームは全てMPEG-2TSであり、６Ｍbps×５、１８Ｍbps×５、３０Ｍbps×６の１６ストリーム合計約３００Ｍbpsを用いた。また、仮想ビットレートの増大率αをα＝１．０１とし、約１％のパケット滞留を回避する。出力IPパケットはRTPとし、RTPペイロードを７ＴＳで構成した。また、出力インタフェースは１Ｇbpsである。計測結果として、多重化ストリームの総出力ビットレート（３００Ｍbps）及びそのうちの３０Ｍbpsの１ストリームについて、独立に制御する従来方式の計測結果と本発明による方式の計測結果を図７に示す。図７において、実線は本発明による方式の計測結果を示し、破線は従来方式の計測結果を示す。また、横軸は１msec単位の時間を示し、縦軸はビットレートを示し、ストリーム出力が開始されてから一定時間経過した後の０．１秒間の値を示す。
【００３６】
図７に示すように、独立に制御する方式では、１つのストリームを見ると最大４００Ｍbpsを超えるバーストが発生しており、さらにストリーム間でそのバーストが重なることにより、総ビットレートが瞬間的に１Ｇbps近くまで達していることが分かる。これに対して、本発明による方式では、１つのストリームとしても仮想ビットレートに、多重化し全体としても仮想出力多重化レートにシェーピングされていることが確認できた。
【図面の簡単な説明】
【００３７】
【図１】本発明によるストリーム多重化送出装置の第１実施例を示す線図である。
【図２】本発明と従来方式において、パケット送出間隔と出力バイト数の関係を比較して示した図である。
【図３】本発明によるストリーム多重化送出装置の第２実施例を示す線図である。
【図４】本発明によるストリーム多重化送出装置の第３実施例を示す線図である。
【図５】本発明によるストリーム多重化送出装置の第４実施例を示す線図である。
【図６】本発明によるストリーム多重化送出装置の別の実施例を示す線図である。
【図７】独立に制御する従来方式と本発明による方式のシミュレーション実験の結果を示す線図である。
【符号の説明】
【００３８】
１  ストリーム多重化送出装置
２ａ〜２ｎ  入力回線
３  出力回線
４  パケット多重化部
５ａ〜５ｎ  チャネルバッファ
６  多重化制御部
１０  仮想伝送レート設定部
１１  送出判定部
２０  入力伝送レート推定部
３０  入力信号源
３１ａ〜３１ｎ  チャネルバッファ
３２  チャネルセレクタ
３３  送出判定器
３４  パケット多重化装置
【図１】
2006157473.tif 000003
【図２】
2006157473.tif 000004
【図３】
2006157473.tif 000005
【図４】
2006157473.tif 000006
【図５】
2006157473.tif 000007
【図６】
2006157473.tif 000008
【図７】
2006157473.tif 000009