ベストエフォート網の一つであるIP(Internet Protocol)網にてデータ伝送を行う場合、伝送網内に輻輳が発生するとパケット単位にて廃棄が行われる。
例えば伝送するデータが映像データである場合、映像フレーム、或いはスライスを構成するデータの一部が廃棄される。映像フレーム、或いはスライスを構成するデータの一部が廃棄される場合、従来技術のATM伝送項にて説明した現象と同様の問題が発生する。即ち、廃棄パケットを含む映像フレーム、或いはスライスデータは全体として無効になるにも関わらず、パケット廃棄後も無効となったパケットを伝送し続け、伝送路の帯域を無駄に消費するといった問題がある。
また映像フレーム、或いはスライスデータの伝送途中において、パケット廃棄を開始する場合は、既に伝送した映像データを無効にしてしまうといった課題があり、映像フレーム、或いはスライスデータの途中からパケット廃棄を終了しパケット伝送を開始する場合は、次の映像フレーム、或いはスライスの開始までの無効となるデータを伝送してしまうといった問題がある。さらに、データをマルチキャスト配信する場合は、映像フレームデータの途中から複製を開始し、マルチキャスト配信を行うと、次のフレームデータの先頭までの無効となるデータの配信を行ってしまうといった問題がある。
また、例えば従来技術の項で説明した複数ストリームから構成される階層映像番組データ伝送では、各階層のデータはそれぞれ複数のパケット(ここでは、「パケット群」という。)にパケット化されて転送される。この場合、I、P、Bピクチャの高周波成分がなくてもフレームの再生が可能なため、I、P、Bピクチャの高周波成分が格納されるパケットの優先度は低い。しかし、従来のルータを用いた階層映像番組データ伝送では、輻輳が発生した場合、図25に示すようにランダムにデータパケットを廃棄するため、重要なデータパケットまでもが廃棄されることがあり、映像データの復号化・再生においてエラーが多数発生、或いは再生停止といった問題が発生している。そこで映像データを階層化して伝送し、データ廃棄を行う場合は、低優先度のデータパケットを選択的に廃棄することが重要である。しかしながら優先度の低いパケット群であっても、一部のパケットが受信再生装置に転送され、一部のパケットがそこに転送されないような場合、映像データの復号化の都合上エラーが発生し、そのフレームを再生すると、画面にちらつきが出るなど、画質に影響が出るといった問題がある。
そこで本発明の目的は、映像フレーム或いはスライスといった意味のあるデータ構成を分割してIPパケット伝送し、伝送網輻輳時にパケット廃棄を行うデータ伝送方式において、伝送路の帯域を有効に活用するデータ伝送方式及び伝送装置を提供することにある。
また本発明は、データのマルチキャスト配信時において、伝送路の帯域を有効に活用するデータ伝送方式及び伝送装置を提供することにある。
さらに本発明は、複数ストリームから構成される映像・音響番組データ伝送時において伝送網輻輳時に低優先度のパケットデータを廃棄するデータ伝送方式において、受信再生側装置において再生の乱れを防止できるデータ伝送方式、及び伝送装置を提供することにある。
本発明においては、映像フレーム或いはスライスといった意味のあるデータ構成を分割してIPパケット伝送し、伝送網輻輳によるパケット廃棄を行う場合は、意味のあるデータ(映像フレーム、或いはスライス)の途中から廃棄開始、或いは廃棄終了を行うのではなく、意味のあるデータの開始に合わせて、パケット廃棄の開始、或いは廃棄終了を行うようにすることで、前記目的を達成する。
また本発明では、データのマルチキャスト配信時において、映像フレーム或いはスライスといった意味のあるデータの途中から複製を開始するのではなく、意味のあるデータの開始に合わせて、パケット複製の開始を行うようにすることで、前記目的を達成する。
さらに本発明では、複数ストリームから構成される映像・音響番組データ伝送時において、低優先度のパケットデータを廃棄するときには、図24に示すように、低優先階級に属するパケット群単位で廃棄を行うことにより、すなわち各層に属するデータパケットは完全に伝送するかしないかの選択伝送を行うことによって前記目的を達成する。
より具体的には、以下の手段を用いる。
第1に本発明は、複数ストリーム、例えば従来例で説明した階層符号化映像データから構成される番組データ(以後、「階層番組」という)をサーバよりパケット配信する際に、各ストリーム毎にシーケンス番号を付与した階層ヘッダを付与して階層パケットデータ化する手段と、階層パケットデータ化したデータをUDP(User Datagram protocol)パケットデータ化して、さらにIP(Internet Protocol)パケットデータ化する手段と、IPパケットデータのヘッダ内に付与するDS(Differentiated Services)フィールド値に階層番組を構成する各ストリームを識別するための識別子(以後、「フロー識別子」という)データと、パケットデータの廃棄開始或いは廃棄終了を実行するための識別子(以後、「制御コード」という)データとを付与して階層番組データをIPパケットデータ化、及び配信する手段を用いる。
第2に本発明は、IPパケットデータ転送装置において、輻輳が発生した場合に処理すべき階層番組データのフロー識別子データ、及びパケットデータの廃棄開始或いは廃棄終了を実行するための制御コードデータを保持し、輻輳が発生した場合、保持した階層番組データを示すフロー識別子データを持つデータに対して、パケットデータの廃棄開始・終了処理を実行するための制御コードデータをもとに廃棄の開始或いは廃棄の終了を実行する手段を用いる。
第3に本発明は、階層番組データの整形を行うサーバにおいて、処理すべき階層番組データの階層パケットデータ内のシーケンス番号が不連続である場合に処理すべき階層番組データのフロー識別子データ、及びIPパケットデータの廃棄開始或いは廃棄終了を実行するための制御コードデータを保持し、処理すべき階層番組ストリーム毎のシーケンス番号に所定の不連続が発生した場合、保持した処理すべき階層番組ストリームのフロー識別子データを持つIPパケットデータに対して、パケットデータの廃棄開始・終了処理を実行するための制御コードデータをもとに廃棄の開始或いは廃棄の終了を実行することにより、データの整形を行う手段を用いる。
第4に本発明は、階層番組データの受信再生を行うクライアントにおいて、処理すべき階層番組データの階層パケットデータ内のシーケンス番号が不連続である場合に処理すべき階層番組データのフロー識別子データ、及びIPパケットデータの廃棄開始或いは廃棄終了を実行するための制御コードデータを保持し、処理すべき階層番組ストリーム毎のシーケンス番号に所定の不連続が発生した場合、保持した処理すべき階層番組ストリームのフロー識別子データを持つIPパケットデータに対して、パケットデータの廃棄開始・終了処理を実行するための制御コードデータをもとに廃棄の開始或いは廃棄の終了を実行することにより、データの整形を行う手段を用いる。
第5に本発明は、IPパケットデータからMPLS(Multi-Protocol Label Switching)パケットデータに変換するデータ変換サーバにおいて、DS値(フロー識別子データ、及び制御コードデータ)よりラベルデータを作成する手段を用いる。
第6に本発明は、MPLSによるパケットデータ転送を行う装置におて、輻輳が発生した場合に処理すべきラベルを保持し、輻輳が発生した場合、保持したラベルをもとにMPLSパケットデータの廃棄開始或いは廃棄の終了を実行する手段を用いる。
すなわち、本発明によるパケットデータ転送方法は、IP(Internet Protocol)網或いはMPLS(Multi-Protocol Label Switching)網におけるパケットデータ転送方法において、複数の入出力ポートを持つパケットデータ転送装置に処理すべきデータを識別するための識別子(フロー識別子)データ及び処理を制御するための識別子(制御コード)データを保持し、フロー識別子データと制御コードデータが付与されたパケットデータを受信し、パケットデータ転送装置内での輻輳時にフロー識別子データによって識別したパケットデータの廃棄を行う場合、制御コードデータを基に廃棄開始及び廃棄終了を行うことを特徴とする。
制御コードデータが開始コードである場合、処理すべきパケットデータとして識別したパケットデータの廃棄開始及び廃棄終了動作を所定の制御コード(開始コード)データを含むパケットデータから行うようにする。
制御コードデータが終了コードである場合、処理すべきパケットデータとして識別したパケットデータの廃棄開始及び廃棄終了動作を制御コード(終了コード)データを含むパケットデータの次のパケットデータから行うようにする。
フロー識別子データが映像データを示す場合、制御コードデータは、映像データに含まれるシーケンスのスタートコード、GOP(Group Of Pictures)のスタートコード、ピクチャ(映像フレーム)のスタートコード、スライスのスタートコードの何れかを基に作成する制御コードデータとすることができる。
前記パケットデータ転送方法は、パケットデータ転送装置の出力段のバッファデータ量が所定量(以後、「廃棄開始・終了点」という)以上有るか否かを監視し、バッファデータ量が増大して廃棄開始・終了点以上となり所定の制御コードデータとフロー識別子データを持つパケットデータを受信した場合に当該フロー識別子データを持つパケットデータの廃棄を開始し、またバッファデータ量が減少して廃棄開始・終了点を下回り所定の制御コードデータとフロー識別子データを持ったパケットデータを受信した場合に当該フロー識別子データを持つパケットデータの廃棄を終了するようにすることができる。
また、廃棄開始・終了点をそれぞれ異なるフロー識別子データと対応付けて複数設定し、バッファデータ量が複数設定した廃棄開始・終了点以上有るか否かの監視を行い、バッファデータ量が増大して各廃棄開始・終了点以上となり所定の制御コードデータと当該廃棄開始・終了点に対応付けられたフロー識別子データとを持つパケットデータを受信した場合に当該フロー識別子データを持つパケットデータの廃棄を開始し、バッファデータ量が減少して各廃棄開始・終了点を下回り所定の制御コードデータと当該廃棄開始・終了点に対応付けられたフロー識別子データとを持つパケットデータを受信した場合に、当該フロー識別子データを持つパケットデータの廃棄を終了するようにしてもよい。
また、パケットデータ転送装置の出力段のバッファデータ量が第1の所定量(以後、「廃棄開始点」という)以上有るか否か、また前記第1の所定量より少ない第2の所定量(以後、「廃棄終了点」という)以上有るか否かを監視し、バッファデータ量が増大して廃棄開始点以上となり所定の制御コードデータとフロー識別子データを持ったパケットデータを受信した場合に当該フロー識別子データを持つパケットデータの廃棄を開始し、またバッファデータ量が減少して廃棄終了点を下回り所定の制御コードデータとフロー識別子データを持ったパケットデータを受信した場合に当該フロー識別子データを持つパケットデータの廃棄を終了するようにしてもよい。
さらに、廃棄開始点と廃棄終了点をそれぞれ異なるフロー識別子データと対応付けて複数設定し、バッファデータ量が複数設定した廃棄開始点以上有るか否か、また複数設定した廃棄終了点以上有るか否かを監視し、バッファデータ量が増大して各廃棄開始点以上となり所定の制御コードデータと当該廃棄開始点に対応付けられたフロー識別子データを持つパケットデータを受信した場合に当該フロー識別子データを持つパケットデータの廃棄を開始し、またバッファデータ量が減少して各廃棄終了点を下回り所定の制御コードデータを当該廃棄終了点に対応付けられたフロー識別子データを持つパケットデータを受信した場合に当該フロー識別子データを持つパケットデータの廃棄を終了するようにしてもよい。
本発明によるパケットデータ転送方法は、それぞれ入力回線と接続するための複数のイングレスカードと、データ廃棄機能とバッファとを有しそれぞれ出力回線と接続するための複数のエグレスカードと、複数のイングレスカードと複数のエグレスカードとに接続されるスイッチとを備えるルータを用いて、送信先アドレス情報が設定されるフィールドと、各階層を識別するためのフロー識別子データを設定するフィールドと、廃棄を開始・終了するための制御コードデータを設定するフィールドとが設けられたヘッダを有し、階層符号化した映像フレームデータが各階層毎に複数のパケットデータにパケットデータ化されたパケットデータを転送する方法であって、イングレスカードに入力されたパケットデータを前記スイッチに転送し、そのアドレスフィールドの値に対応するエグレスカードに転送し
、各バッファに滞留するパケットデータ量が所定のしきい値を越えた場合には、各バッファに入力するパケットデータを、各フロー識別子データ毎に前記制御コードデータを基に各階層単位で廃棄することを特徴とする。
本発明によるパケットデータ転送装置は、それぞれ入力回線と接続するための複数のイングレスカードと、データ廃棄機能とバッファとを有しそれぞれ出力回線と接続するための複数のエグレスカードと、複数のイングレスカードと複数のエグレスカードとに接続されるスイッチとを備え、イングレスカードに入力された、送信先アドレス情報が設定されるフィールドと、各階層を識別するためのフロー識別子データを設定するフィールドと、廃棄を開始・終了するための制御コードデータを設定するフィールドとが設けられたヘッダを有し、階層符号化した映像フレームデータが各階層毎に複数のパケットデータにパケットデータ化されたパケットデータをスイッチに転送し、そのアドレスフィールドの値に対応するエグレスカードに転送するパケットデータ転送装置であって、各バッファに滞留するパケットデータ量が所定のしきい値を越えたとき、当該バッファに入力するパケットデータを、各フロー識別子データ毎に制御コードデータを基に、各階層単位で廃棄する手段を備えたことを特徴とする。
本発明によるデータ配信方式は、IP網上でのデータ配信方式であって、伝送データを識別するためのフロー識別子データと伝送途中において伝送データを廃棄開始或いは廃棄終了を制御するための制御コードデータとをIPパケットヘッダ内のDS(Differentiated Services)フィールド内に配置して、伝送データを配信することを特徴とする。
本発明によるデータ配信方式は、また、MPLS網上でのデータ配信方式であって、伝送データを識別するためのフロー識別子データと伝送途中において伝送データを廃棄開始或いは廃棄終了を制御するための制御コードデータとをMPLSパケットヘッダ内のラベルフィールド内に配置して、伝送データを配信することを特徴とする。
本発明によるパケットデータ作成方法は、複数のストリームから構成される階層データからパケットデータを作成するパケットデータの作成方法において、伝送する各階層データを識別するためのフロー識別子データと、伝送途中において輻輳が発生した場合に廃棄動作を開始あるいは終了するための制御コードデータとを、所定のサイズ毎に分割した階層データ毎に付与して階層パケットデータを作成し、さらにUDP(User Datagram Prtocol)ヘッダを付与することによりUDPパケットデータ化を行うことを特徴とする。
本発明によるデータの整形方法は、複数のストリームから構成される階層データの各階層データを識別するためのフロー識別子データと、所定のサイズ毎に分割したデータに連続的に付与されるシーケンス番号と、各階層データの廃棄動作を開始あるいは終了するための制御コードデータとを所定のサイズ毎に分割した各階層データ毎に付与して階層パケットデータを作成し、さらにUDPパケットデータ化及びIPパケットデータ化して配信されたデータ列を受信するステップと、受信したIPパケットデータ列からUDPパケットデータ及び階層パケットデータを再構成し、UDPデータを再構成出来ないデータを廃棄するステップと、各フロー識別子データ毎に再構成した階層パケットデータのシーケンス番号の連続性を確認するステップと、シーケンス番号が不連続であるとき、制御コードデータが廃棄動作を開始するための制御コードデータである場合には後続として受信した各階層パケットデータ内の次の制御コードデータを含む階層パケットデータの直前の階層パケットデータまでを廃棄し、制御コードデータが廃棄動作を終了するための制御コードデータである場合には後続として受信した各階層パケットデータ内の次の制御コードデータを含む階層パケットデータまでを廃棄して、それ以後の階層パケットデータをUDPパケットデータ化及びIPパケットデータ化して受信時と同一の送信先へ配信するステップとを含むことを特徴とする。
本発明によるデータの整形装置は、複数のストリームから構成される階層データの各階層データを識別するためのフロー識別子データと、所定のサイズ毎に分割したデータに連続的に付与されるシーケンス番号と、各階層データの廃棄動作を開始あるいは終了するための制御コードデータとを所定のサイズ毎に分割した各階層データ毎に付与して階層パケットデータを作成し、さらにUDPパケットデータ化及びIPパケットデータ化したデータを受信する手段と、受信したIPパケットデータからUDPパケットデータ及び階層パケットデータを再構成する手段と、UDPパケットデータを再構成出来ない場合は再構成出来ないデータを廃棄する手段と、再構成した階層パケットデータのシーケンス番号の連続性を各フロー識別子データ毎に確認する手段と、シーケンス番号が不連続であるとき、制御コードデータが廃棄動作を開始するための制御コードデータである場合には後続として受信した各階層パケットデータ内の次の制御コードデータを含む階層パケットデータの直前の階層パケットデータまでを廃棄し、制御コードデータが廃棄動作を終了するための制御コードデータである場合には後続として受信した各階層パケットデータ内の次の制御コードデータを含む階層パケットデータまでを廃棄して、それ以後の階層パケットデータをUDPパケットデータ化及びIPパケットデータ化して受信時と同一の送信先へ配信する手段と、シーケンス番号が連続である場合には受信した全ての階層パケットデータをUDPパケットデータ化及びIPパケットデータ化して受信時と同一の送信先へ配信する手段とを備えたことを特徴とする。
本発明による復号化方式は、複数の映像・音響ストリームから構成される階層映像・音響番組データの各階層番組データを識別するためのフロー識別子データと、所定のサイズ毎に分割したデータに連続的に付与されるシーケンス番号と、各階層データの廃棄動作を開始あるいは終了するための制御コードデータとを所定のサイズ毎に分割した各階層データ毎に付与して階層パケットデータを作成し、さらにUDPパケットデータ化及びIPパケットデータ化して配信されたIPパケットデータ列を受信するステップと、受信したIPパケットデータ列からUDPパケットデータ及び階層パケットデータを再構成するステップと、UDPパケットデータを再構成出来ない場合は再構成出来ないデータを廃棄するステップと、再構成した階層パケットデータのシーケンス番号の連続性を各フロー識別子データ毎に確認するステップと、シーケンス番号が不連続であるとき、制御コードデータが廃棄動作を開始するための制御コードデータである場合には後続として受信した各階層パケットデータ内の次の制御コードデータを含む階層パケットデータの直前の階層パケットデータまでを廃棄し、制御コードデータが廃棄動作を終了するための制御コードデータである場合には後続として受信した各階層パケットデータ内の次の制御コードデータを含む階層パケットデータまでを廃棄して、それ以後の階層パケットデータから復号化を実行するステップとを含むことを特徴とする。
本発明によるデータの復号化及び再生表示装置は、複数の映像・音響ストリームから構成された階層映像・音響番組データの各階層番組データを識別するためのフロー識別子データと、所定のサイズ毎に分割したデータに連続的に付与されるシーケンス番号と、各階層データの廃棄動作を開始あるいは終了するための制御コードデータとを所定のサイズ毎に分割した各階層データ毎に付与して階層パケットデータを作成し、さらにUDPパケットデータ化及びIPパケットデータ化して配信されたIPパケットデータを受信する手段と、受信したIPパケットデータからUDPパケットデータ及び階層パケットデータを再構成する手段と、UDPパケットデータを再構成出来ない場合は再構成出来ないデータを廃棄する手段と、再構成した階層パケットデータのシーケンス番号の連続性を各フロー識別子データ毎に確認する手段と、シーケンス番号が不連続であるとき、制御コードデータが廃棄動作を開始するための制御コードデータである場合には後続として受信した各階層パケットデータ内の次の制御コードデータを含む階層パケットデータの直前の階層パケットデータまでを廃棄し、制御コードデータが廃棄動作を終了するための制御コードデータである場合には後続として受信した各階層パケットデータ内の次の制御コードデータを含む階層パケットデータまでを廃棄して、それ以後の階層パケットデータから復号化を開始する手段と、シーケンス番号が連続である場合には受信した全ての階層パケットデータを復号化する手段と、復号化したデータを再生表示するための手段とを備えることを特徴とする。
本発明によるパケットデータ複製配信方法(データのマルチキャスト配信方法)は、複製を作製すべきデータを識別するためのフロー識別子データと、複製処理を制御するための制御コードデータを保持し、フロー識別子データと制御コードデータとが付与されたパケットデータを受信し識別したパケットデータの複製を行う場合、保持したフロー識別子データを持つパケットデータに対して制御コードデータを基に複製開始及び複製終了を行うことを特徴とする。
本発明による複製配信装置(データのマルチキャスト配信装置)は、複製を作製すべきデータを識別するためのフロー識別子データと複製処理を制御するための制御コードデータとを保持する手段と、フロー識別子データと制御コードデータとを付与したパケットデータを受信する手段と、パケットデータの複製を行う場合、保持したフロー識別子データを持つパケットデータに対して制御コードデータを基に複製開始及び複製終了を行う手段とを備えたことを特徴とする。
以上説明したように、本発明によれば、映像フレーム、或いはスライスといった意味のあるデータ構成を分割してIPパケット伝送し、伝送網輻輳によるパケット廃棄を行う場合は、意味のあるデータ(映像フレーム、或いはスライス)の途中から廃棄開始、或いは廃棄終了を行うのではなく、意味のあるデータの開始に合わせて、パケット廃棄の開始、或いは廃棄終了を行うようにすることで、伝送路の帯域を有効に活用するデータ伝送方式、及び伝送システムを提供することができる。
また本発明では、データのマルチキャスト配信時において、映像フレーム、或いはスライスといった意味のあるデータの途中から複製を開始するのではなく、意味のあるデータの開始に合わせてパケット複製の開始を行うようにすることで、伝送路の帯域を有効に活用するデータ伝送方式、及び伝送装置を提供することができる。
さらに本発明では、複数ストリームから構成される映像・音響番組データ伝送時において、低優先度のパケットデータを廃棄するときには、低優先階級に属するパケット群単位で廃棄を行うことにより、受信再生側装置において、再生の乱れを防止するデータ伝送方式、及び伝送装置を提供することができる。
以下、本発明の実施形態を図面を参照して詳細に説明する。
始めに、本実施の形態にて用いたデータの構造について説明を行う。図3は、本実施の形態で用いた階層番組データのIPパケットデータ化方法を示している。ここでは、階層番組データとして、MPEGビデオデータ(MPEG−1、或いはMPEG−2)のIフレームの高周波成分データ40と低周波成分データ41とを例に説明を行う。配信する階層番組データ40は、所定のサイズ、例えば4kバイト毎に分割することにより、43と45の階層データ(1)と階層データ(2)とに分割され、それぞれ階層ヘッダ42、44を付与して階層パケットデータを作成する。ここで階層ヘッダ42、44は、階層データを識別するための4ビットの識別子(以後、「フロー識別子」という)データと、各階層フレームデータの先頭か或いは途中かを示す4ビットの識別子(以後、「制御コード」という)データと、階層番組データを構成する各ストリーム毎に連続的に付与する16ビットのシーケンス番号である。フロー識別子データと制御コードデータの値については、図4を用いて詳細に説明する。シーケンス番号としては、Iフレームの高周波成分データ40と低周波成分データ41とを個別に、16進法の値で0x0000〜0xFFFFの値をサイクリックに付与する。但し、ここではフロー識別子データと制御コードデータを4ビットとし、シーケンス番号を16ビットの値としたが、そのほかの値でもよい。
さらに階層パケットデータ化したデータ42と43、及び44と45は、それぞれ先頭にUDPヘッダ46、47を付与してUDPパケットデータを構成する。またさらにUDPパケットデータ化したデータ46と42と43、及び47と44と45は、それぞれ所定のサイズ、例えば1480バイト毎に分割され、それぞれ先頭にIPヘッダ48、49、50を付与してIPパケットデータを構成する。図3の例では、データ46と42と43から構成されるUDPパケットデータのサイズが1480バイトを越えるため、43の階層データ(1)が43−1と43−2に分割されて、IPパケットデータ化される状態を示している。
51、52、53に示したDS値は、図4を用いて後述するが、IPパケットデータが伝送するデータに応じて設定される値であり、階層番組を構成する各ストリームを識別するためのフロー識別子データと、パケットデータの廃棄開始或いは廃棄終了を実行するための制御コードデータとから構成される値である。これらDS値(データ51、52、53)は、前記階層ヘッダ内のフロー識別子データ(データ55、56)及び制御コードデータ(データ60、61)値を基に作成する。また65、66に示したシーケンスデータは、前述したとおり、各ストリーム毎に連続的に付与される16ビットのシーケンス番号である。
図4は、IPパケットデータが伝送するデータの内容に応じて設定するDS値の詳細を示している。例えば、図3の51のDS値は、伝送するデータ43−1の内容で決定され、また52のDS値は、43−2のデータ内容で決定される。図3で説明した43−1のデータは、Iフレームの高周波成分データであるので、フロー識別子データとしては0x5であり、且つIフレームの高周波成分データの先頭データであるため、制御コードデータとしては0xDが設定される。図3の51に示したDS値全体としては、フロー識別子データ(0x5)と制御コードデータ(0xD)とから0x5Dとなる。また図3の43−2のデータは、Iフレームの高周波成分データであるので、フロー識別子データとしては0x5であるが、Iフレームの高周波成分データの途中データであるため、制御コードデータとしては0xCが設定される。結果として図3の52に示したDS値全体としては、フロー識別子データ(0x5)と制御コードデータ(0xC)とから0x5Cとなる。さらに図3の45のデータは、Iフレームの高周波成分データであるので、フロー識別子データとしては0x5であり、且つIフレーム高周波成分データの途中データであるため、制御コードデータとしては0xCが設定される。結果として図3の53に示したDS値全体としては、フロー識別子データ(0x5)と制御コードデータ(0xC)とから0x5Cとなる。
以上説明したIフレームの高周波成分以外については、図4に示したように、IPパケットデータが伝送するデータがIフレームの低周波成分である場合は、フロー識別子データとして0x6を付与し、Pフレームの低周波成分である場合は、フロー識別子データとして0x4が、またPフレームの高周波成分である場合は、フロー識別子データとして0x3を付与する。さらにIPパケットデータが伝送するデータがBフレームの低周波成分である場合は、フロー識別子データとして0x2が、またBフレームの高周波成分である場合は、フロー識別子データとして0x1を付与する。制御コードデータとしては、伝送するデータが各映像フレームの先頭データである場合は0xDが付与され、映像フレームの途中データである場合は、制御コードデータとして0xCを付与する。以上が、IPパケットデータが伝送するデータの内容とDS値との関係であるが、図4で設定した値以外の設定を用いてもよい。またパケットデータの廃棄開始及び終了を制御するコードとして、各映像フレームの先頭か否かにより設定を行ったが、そのほかの区別、例えば、GOP(Group Of Pictures)の先頭であるか否か、或いは各映像フレームのスライスの先頭であるか否か等の区別により設定することも可能である。
図1は、本発明の実施形態によるパケットデータ転送装置100の構成を示す図である。具体的には、複数の入力回線と接続するための入力ポート1(1−1〜1−N)と、パケットデータをルーティングするルーテイング部2と、複数の出力回線用にルーティングされたデータを選択的に伝送するための選択伝送部3(3−1〜3−N)と、各選択伝送部に接続したバッファ4(4−1〜4−N)と、複数の出力回線と接続するための出力ポート5(5−1〜5−N)とから構成する。入力ポート1(1−1〜1−N)はイングレスカードで作ることができる。また、選択伝送部3(3−1〜3−N)、各選択伝送部に接続したバッファ4(4−1〜4−N)、及び複数の出力回線と接続するための出力ポート5(5−1〜5−N)はエグレスカード201(201−1〜201−N)として作ることもできる。
次に、パケットデータ転送装置100の動作について説明する。パケットデータ転送装置100は、始めに図3に示したIPパケットデータ、例えばデータ48、46、42、及び43−1とから構成するIPパケットデータ等を複数の入力ポート1(1−1〜1−N)から受信する。受信したIPパケットデータは、IPパケットヘッダの宛先アドレスによりルーテイング部2を通して所定の出力ポート(ここでは、選択伝送部3−1〜3−Nの何れか)へルーティングする。選択伝送部3(3−1〜3−N)に転送したパケットデータは、後段に接続したバッファのデータ量信号21(21−1〜21−N)によって選択伝送部3(3−1〜3−N)からバッファ4(4−1〜4−N)へ伝送するか否かを判定する。
図1のパケットデータ転送装置100の例では、バッファ4(4−1〜4−N)内のデータ量が所定のデータ量(パケットデータの廃棄を開始、或いは終了すべきバッファ内のデータ量点)以上有るか無いかを監視する場合を示しており、バッファ4(4−1〜4−N)内のデータ量が所定量以上であるか否かを、信号21(21−1〜21−N)にて選択伝送部3(3−1〜3−N)へ通知する。これにより、受信したIPパケットデータを選択伝送部3(3−1〜3−N)からバッファ4(4−1〜4−N)へ伝送するか否かを判定する。伝送する場合には選択伝送部3(3−1〜3−N)よりバッファ4(4−1〜4−N)へIPパケットデータを伝送する。伝送しない(廃棄する)場合は、選択伝送部3(3−1〜3−N)よりバッファ4(4−1〜4−N)へIPパケットデータを伝送せず、選択伝送部3(3−1〜3−N)内にて廃棄を行う。尚、選択伝送部3(3−1〜3−N)の動作については、図2を用いて後述する。バッファ4(4−1〜4−N)内に伝送したIPパケットデータは、出力ポート5(5−1〜5−N)より出力回線へと配信する。
図2は、選択伝送部3の構成を詳細に示した図である。選択伝送部3は、選択伝送判定部31と、データを一時的に保持するレジスタ32と、データの転送を実行する転送部33とから構成する。ルーテイング部2よりルーティングしたIPパケットデータは、一時的にレジスタ32に保持し、IPヘッダ内のDS値の解析を選択伝送判定部31により行う。選択伝送判定部31では、予めバッファ4内のデータ量が所定量以上(輻輳時)である場合に廃棄するIPパケットデータのフロー識別子データ及び廃棄を開始・終了する制御コードデータを蓄積保持しておく。ここでは、バッファ4の輻輳時、廃棄するフローとしてBフレームの高周波成分(フロー識別子データ0x1)を設定しておく例によって説明する。
またパケット廃棄の開始は、0xDの制御コードデータを持つパケットデータから開始し、廃棄中のフローに対しては、廃棄中であることを示すフラグを選択伝送判定部31内に蓄積保持し、廃棄フラグが設定されていて且つバッファ4の輻輳が解消されたときは、制御コードデータ0xDを持つパケットデータからバッファ4への伝送を開始する。即ち、バッファ4の輻輳時、DS値として0x1Cをもつパケットデータを受信している間は廃棄を開始せず、0x1DをもつIPパケットデータを受信してから廃棄を開始する。また廃棄フラグが設定されていて且つバッファ4の輻輳が解消された場合、DS値として0x1Cをもつパケットデータを受信している間は廃棄を終了せず、0x1DをもつIPパケットデータを受信してから廃棄を終了するように、選択伝送判定部31は、転送部33の制御を行う。転送部33は、選択伝送判定部31の制御により、レジスタから読み出したデータをバッファへ転送するか廃棄するかの動作を行う。
以上が、選択伝送部3の構成と動作である。尚、図1、2を用いて説明した選択伝送、或いは廃棄については、バッファ内のデータ量により廃棄開始・終了点を1点だけ設定し、1つの階層のみ選択的に伝送、或いは廃棄を行ったが、廃棄開始・終了点を2点以上設定し、2階層以上選択的に伝送、或いは廃棄を行ってもよい。廃棄開始・終了点を2点設定して2階層のパケットデータを選択的に伝送、廃棄する場合の例について説明すると、選択伝送判定部31に、予めバッファ4内のデータ量が廃棄開始・終了点1を越えた場合に廃棄するIPパケットデータのフロー識別子データ及び廃棄を開始・終了する制御コードデータと、廃棄開始・終了点2(廃棄開始・終了点2>廃棄開始・終了点1)を越えた場合に廃棄するIPパケットデータのフロー識別子データ及び廃棄を開始・終了する制御コードデータを蓄積保持しておく。
例えば、バッファ4内のデータ量が廃棄開始・終了点1を越えた場合に廃棄するフローとしてBフレームの高周波成分(フロー識別子データ0x1)を設定し、廃棄開始・終了点2を越えた場合に前記フローに加えて更に廃棄するフローとしてBフレームの低周波成分(フロー識別子データ0x2)を設定しておく例によって説明する。またパケット廃棄の開始は、0xDの制御コードデータを持つパケットデータから開始し、廃棄中のフローに対しては、廃棄中であることを示すフラグを選択伝送判定部31内に蓄積保持し、廃棄フラグが設定されていて且つバッファ4の輻輳が解消されたときは、制御コードデータ0xDを持つパケットデータからバッファ4への伝送を開始する。
即ち、バッファ4が輻輳しバッファ4内のデータ量が廃棄開始・終了点1を越えた時、DS値として0x1Cをもつパケットデータを受信している間は廃棄を開始せず、0x1DをもつIPパケットデータを受信してからBフレームの高周波成分の廃棄を開始する。バッファ4内のデータ量が廃棄開始・終了点2を越えた時は、フロー識別子データ0x1のフローは廃棄を続行するとともに、Bフレームの低周波成分に関しては、DS値として0x2Cをもつパケットデータを受信している間は廃棄を開始せず、0x2DをもつIPパケットデータを受信してから廃棄を開始する。また、Bフレームの高周波成分とBフレームの低周波成分に対して廃棄フラグが設定されていてバッファ4内のデータ量が廃棄開始・終了点2を下回ったときは、Bフレームの低周波成分(フロー識別子データ0x2)に関しては制御コードデータ0xDを持つパケットデータからバッファ4への伝送を開始する。Bフレームの高周波成分(フロー識別子データ0x1)は引き続き廃棄する。同様に、Bフレームの高周波成分に対して廃棄フラグが設定されていてバッファ4内のデータ量が廃棄開始・終了点1を下回ったときは、DS値として0x1Cをもつパケットデータを受信している間は廃棄を終了せず、0x1DをもつIPパケットデータを受信してから廃棄を終了するように、選択伝送判定部31は、転送部33の制御を行う。
図5は、本発明の実施形態によるパケットデータ転送装置100の変形例110である。入力ポート1(1−1〜1−N)はイングレスカードで作ることができる。また、選択伝送部13(13−1〜13−N)、各選択伝送部に接続したバッファ14(14−1〜14−N)、及び複数の出力回線と接続するための出力ポート5(5−1〜5−N)はエグレスカード202(202−1〜202−N)として作ることもできる。
図1のパケットデータ転送装置100では、バッファ4内のデータ量を所定のデータ量(パケットデータの廃棄を開始、或いは終了すべきバッファ内のデータ量点)以上有るか無いかを監視(信号21)して選択伝送部3にてパケットデータの伝送を行うか廃棄するかを選択したが、図5のパケットデータ転送装置110では、バッファ14内のデータ量を第1のデータ量(パケットデータの廃棄を開始すべきバッファ内のデータ量点:以後「廃棄開始点」という)以上有るか無いか、また第2のデータ量(パケットデータの廃棄を終了すべきバッファ内のデータ量点:以後「廃棄終了点」という)以上有るか無いかの2点(信号22,23)で監視を行い選択伝送部13にてパケットデータの伝送を行うか廃棄するかを選択する点が、パケットデータ転送装置100と110との異なる点である。但し、第1のデータ量は、第2のデータ量より大(廃棄開始点>廃棄終了点)である。以後、図6を用いてパケットデータ転送装置110の動作を、パケットデータ転送装置100と異なる動作を中心に説明を行う。
図6に示した選択伝送部13は、選択伝送判定部131と、データを一時的に保持するレジスタ132と、データの転送を実行する転送部133とから構成する。ルーテイング部2よりルーティングしたIPパケットデータは、一時的にレジスタ132に保持され、IPヘッダ内のDS値の解析を選択伝送判定部131により行う。選択伝送判定部131では、予めバッファ14内のデータ量が第1の所定量(廃棄開始点)以上である場合に廃棄するIPパケットデータのフロー識別子データ及び廃棄を開始する制御コードデータ、またバッファ14内のデータ量が第2の所定量(廃棄終了点)未満である場合に廃棄を終了する制御コードデータを蓄積保持しておく。ここでは、バッファ14内のデータ量が廃棄開始点以上の場合、廃棄するフローとしてBフレームの高周波成分(0x1)を設定し
ておく例によって説明する。
またパケット廃棄の開始は、0xDの制御コードデータを持つパケットデータから開始し、廃棄中のフローに対しては、廃棄中であることを示すフラグを選択伝送判定部131内に蓄積保持し、廃棄フラグが設定されていて且つバッファ14内のデータ量が廃棄終了点未満になった場合、制御コードデータ0xDを持つパケットデータからバッファ14への伝送を開始する。即ち、バッファ14内のデータ量が廃棄開始点以上になった場合もDS値として0x1Cをもつパケットデータを受信している間は廃棄を開始せず、0x1DをもつIPパケットデータを受信してから廃棄を開始する。また廃棄フラグが設定されていて、且つバッファ14内のデータ量が廃棄終了点未満になった場合にもDS値として0x1Cをもつパケットデータを受信している間は廃棄を終了せず、0x1DをもつIPパ
ケットデータを受信してから廃棄を終了するように、選択伝送判定部131は、転送部133の制御を行う。転送部133は、選択伝送判定部131の制御により、レジスタから読み出したデータをバッファへ転送するか廃棄するかの動作を行う。
以上が、選択伝送部13の動作である。尚、図5、6を用いて説明した選択伝送、或いは廃棄については、廃棄開始点及び廃棄終了点をそれぞれ1点だけ設定し、1つの階層のみ選択的に伝送、或いは廃棄を行ったが、廃棄開始点及び廃棄終了点を2点以上設定し、2階層以上選択的に伝送、或いは廃棄を行ってもよい。廃棄開始点及び廃棄終了点の組を2組設定して2階層のパケットデータを選択的に伝送、廃棄する場合の例について説明すると、選択伝送判定部選択伝送判定部131に、予めバッファ14内のデータ量が第1の所定量(廃棄開始点1)以上である場合に廃棄するIPパケットデータのフロー識別子データ及び廃棄を開始する制御コードデータ、またバッファ14内のデータ量が第2の所定量(廃棄終了点1)未満である場合に廃棄を終了する制御コードデータ、バッファ14内のデータ量が第3の所定量(廃棄開始点2)以上である場合に廃棄するIPパケットデータのフロー識別子データ及び廃棄を開始する制御コードデータ、またバッファ14内のデータ量が第4の所定量(廃棄終了点2)未満である場合に廃棄を終了する制御コードデータを蓄積保持しておく。ただし、廃棄開始点2>廃棄開始点1>廃棄終了点2>廃棄終了点1とする。ここでは、バッファ14内のデータ量が廃棄開始点1以上の場合、廃棄するフローとしてBフレームの高周波成分(0x1)を設定し、廃棄開始点2以上の場合、廃棄するフローとしてBフレームの低周波成分(0x2)を設定しておくものとする。
またパケット廃棄の開始は、0xDの制御コードデータを持つパケットデータから開始し、廃棄中のフローに対しては、廃棄中であることを示すフラグを選択伝送判定部131内に蓄積保持し、廃棄フラグが設定されていて且つバッファ14内のデータ量が廃棄終了点未満になった場合、制御コードデータ0xDを持つパケットデータからバッファ14への伝送を開始する。即ち、バッファ14内のデータ量が廃棄開始点1以上になった場合もDS値として0x1Cをもつパケットデータを受信している間は廃棄を開始せず、0x1DをもつIPパケットデータを受信してからBフレームの高周波成分(0x1)の廃棄を開始する。同様に、バッファ14内のデータ量が廃棄開始点2以上になった場合もDS値として0x2Cをもつパケットデータを受信している間はBフレームの低周波成分(0x
2)の廃棄を開始せず、0x2DをもつIPパケットデータを受信してからBフレームの低周波成分(0x2)の廃棄を開始する。またBフレームの低周波成分(0x2)に対して廃棄フラグが設定されていて、バッファ14内のデータ量が廃棄終了点2未満になった場合にもDS値として0x2Cをもつパケットデータを受信している間はBフレームの低周波成分(0x2)の廃棄を終了せず、0x2DをもつIPパケットデータを受信してから廃棄を終了するように、選択伝送判定部131は、転送部133の制御を行う。この間、Bフレームの高周波成分(0x1)は廃棄し続ける。Bフレームの高周波成分に対して廃棄フラグが設定されているとき、更にバッファ14内のデータ量が減少して廃棄終了点1未満になった場合にもDS値として0x1Cをもつパケットデータを受信している間は廃棄を終了せず、0x1DをもつIPパケットデータを受信してから廃棄を終了するように、転送部133の制御を行う。
図1、或いは図5を用いて説明したパケットデータ転送装置は、伝送網が輻輳した場合に選択的にパケットデータの伝送、或いは廃棄を行う装置であったが、図7に示したデータ整形サーバは、図3を用いて説明した階層番組データの一部がランダムに廃棄されて伝送されてきた場合のデータ整形を行う装置である。データの整形については、例えば図3のデータ40を番組配信サーバから配信し、受信装置において受信し再生する場合を例に説明する。
本来ならば番組配信サーバから配信したデータ40は、データ48と46と42と43−1とから構成されるIPパケットデータと、データ49と43−2とから構成されるIPパケットデータと、データ50と47と44と45とから構成されるIPパケットデータとして伝送網内を伝送されるはずであるが、伝送網途中において輻輳によりデータの一部、例えばデータ48と46と42と43−1とから構成されるIPパケットデータが伝送途中において廃棄された場合、受信装置へは残りのデータ49と43−2とから構成されるIPパケットデータと、50と47と44と45とから構成されるIPパケットデータが伝送される。受信装置では、データ40を構成する全てのデータを受信した場合において、Iフレームの高周波成分の再生が可能であるが、データの一部しか受信出来ない場
合は、再生が出来ない。故に、受信装置へ伝送しても無駄となるデータを伝送することになるため、伝送しても無駄となるデータを伝送網で廃棄することにより伝送網を有効に利用するため、前記例の場合、データ整形サーバにおいてデータ49と43−2とから構成されるIPパケットデータと、データ50と47と44と45とから構成するIPパケットデータのデータを廃棄することが、データの整形を意味する。続いて図7を用いてデータ整形サーバ120の構成と動作について説明する。
図7に示したデータ整形サーバ120は、バス121によって接続したCPU部122とCPU部122にて動作するデータ整形プログラムを蓄積したプログラム蓄積部123と、データ整形処理の間に必要なデータの蓄積保持を行うメインメモリ124と、データを受信するための入力部125と、整形後のデータを出力するための出力部126とから構成する。データ整形サーバ120は、始めにプログラム蓄積部123に蓄積保持した処理プログラムをCPU部122にロードし、データの整形処理を開始する。なお、CPU部122の詳細な処理動作については、図8を用いて後述する。
データ整形の処理動作が開始されると、入力部125からデータの入力を受け付け、メインメモリ124内にて図3に示した入力データの階層ヘッダである各階層毎に付与したシーケンス番号の連続性を監視し、不連続性を検出した場合、前述した通り、無効となるデータの廃棄(データ整形)動作処理を行う。具体的には、受信したデータに対して各階層毎にUDPデータを再構築して、UDPパケットデータとして完成しているかどうかを監視し、未完成であるデータに関しては廃棄を行う。UDPデータとして完成しているデータに対しては、各階層毎(フロー識別子データ0x6〜0x1)のシーケンス番号を監視し、連続であるか否かの確認を行い、不連続である場合は、映像フレームの先頭を示す制御コードデータ値0xDを持つUDPパケットデータを作成するまで制御コードデータ値0xCを持つUDPデータの廃棄を行う。制御コードデータ値0xDを持つUDPパケットデータ作成後は、受信した各階層のデータを出力部126よりIPパケットデータとして再配信を行う。以上が、データ整形サーバの概略的な処理動作である。続いて、図8を用いて、データ整形サーバのCPU部122にて行われる詳細な処理動作を説明する。
図8は、データ整形サーバ120のCPU部122にて実行される処理のフローチャートを示している。
(1)データ整形サーバ120の電源が投入されると、プログラム蓄積部123に蓄積保持したデータ整形処理プログラムがCPU部122にロードされ、データ整形の処理動作を開始する(ステップ200)。
(2)データ整形の処理動作が開始すると、入力部125より受信したIPパケットデータからUDPデータの作成を行い、UDPデータとして完成しているか否かの判断を行う(ステップ201、202)。
(3)ステップ202の判断において、UDPデータの一部が廃棄され、UDPデータを再構築できないと判断した場合、未完成となるUDPデータの廃棄を行う(ステップ202、203)。
(4)ステップ202の判断において、UDPデータを再構築出来ると判断した場合は、UDPデータの再構築を行い、続いて処理すべきフロー(例えば、階層ヘッダ内のフロー識別子データ0x6〜0x1)であるか否かの判断を行う(ステップ202、204)。
(5)ステップ204の判断において、処理すべきフローでない場合、出力部126よりIPパケットデータとして再配信する(ステップ204、205)。
(6)ステップ204の判断において、処理すべきフローと判断した場合、続いて階層ヘッダ内のシーケンス番号値を取得し、各階層毎に連続であるか否かの判断を行う(ステップ204、206、207)。
(7)ステップ207の判断において、シーケンス番号が不連続である場合、不連続である階層のフローに対する廃棄設定を行い、続いて階層ヘッダ内の制御コードデータ値の取得を行う(ステップ207、208、209)。尚、既に廃棄設定が行われている場合は、廃棄設定を継続する。
(8)ステップ207の判断において、シーケンス番号が連続である場合、続いて階層ヘッダ内の制御コードデータ値の取得を行う(ステップ207、209)。
(9)制御コードデータ値取得後、制御コードデータ値が階層フレームデータの途中(0xC)であるか否かの判断を行う(ステップ210)。
(10)ステップ210の判断において、制御コードデータ値が階層フレームデータの途中(0xC)であると判断した場合、続いて廃棄すべきデータであるか否かを判断する(ステップ210、211)。
(11)ステップ211の判断において、廃棄すべきデータでないと判断した場合、出力部126よりIPパケットデータとして再配信する(ステップ211、212)。
(12)ステップ211の判断において、廃棄すべきデータであると判断した場合、データの廃棄を行い、次なるUDPデータの作成を開始する(ステップ211、213、201)。
(13)ステップ210の判断において、制御コードデータ値が階層フレームデータの途中(0xC)でないと判断した場合、続いて制御コードデータ値が階層フレームデータの先頭(0xD)であるか否かを判断する(ステップ210、214)。
(14)ステップ214の判断において、制御コードデータ値が階層フレームデータの先頭(0xD)でないと判断した場合、出力部126よりIPパケットデータとして再配信する(ステップ214、212)。
(15)ステップ214の判断において、制御コードデータ値が階層フレームデータの先頭(0xD)であると判断した場合、該当する階層フレームデータの廃棄処理を終了し、出力部126よりIPパケットデータとして再配信する(ステップ214、215、212)。尚、廃棄設定が行われていない場合は、再配信動作を継続する。以上が、データ整形サーバ120のCPU部122にて実行される処理のフローである。
図7に示したデータ整形サーバは、図3に示した階層番組データの一部がランダムに廃棄されて伝送されてきた場合のデータ整形を行い再配信を行う装置であったが、図9に示した受信再生装置は、受信したデータの整形を行い、復号化部(デコーダ)にて復号化を行い、表示再生部にて再生を行う装置である。データの整形に関しては、基本的にデータ整形サーバと同様の処理を行う。
図9に示した受信再生装置140は、バス141によって接続したCPU部142とCPU部142にて動作するデータ整形プログラムを蓄積したプログラム蓄積部143と、データ整形処理の間に必要なデータの蓄積保持を行うメインメモリ144と、データを受信するための入力部145と、整形後のデータを復号化するための復号化部146と、復号化した信号を再生表示するための表示再生部147とから構成する。140の受信再生装置は、始めにプログラム蓄積部143に蓄積保持した処理プログラムをCPU部142にロードし、データの受信再生動作を開始する。尚、CPU部142の詳細な処理動作については、図10を用いて後述する。
データの受信再生動作を開始すると、入力部145からデータの入力を受け付け、メインメモリ144内にて図3に示した入力データの階層ヘッダである各階層毎に付与したシーケンス番号の連続性を監視し、不連続性を検出した場合、前述した通り、無効となるデータの廃棄(データ整形)動作処理を行う。具体的には、受信したデータに対して各階層毎にUDPデータを再構築して、UDPパケットデータとして完成しているかどうかを監視し、未完成であるデータに関しては廃棄を行う。UDPデータとして完成しているデータに対しては、各階層毎(フロー識別子データ0x6〜0x1)のシーケンス番号を監視し、連続であるか否かの確認を行い、不連続である場合は、映像フレームの先頭を示す制御コードデータ値0xDを持つUDPパケットデータを作成するまで制御コードデータ値0xCを持つUDPデータの廃棄を行う。制御コードデータ値0xDを持つUDPパケットデータ作成後は、受信した階層番組データを復号化部146にて復号化を行い、復号化後データを表示再生部147にて表示再生を行う。以上が、受信再生装置の概略的な処理動作である。
続いて、図10を用いて、受信再生装置のCPU部142にて行われる詳細な処理動作を説明する。図10は、受信再生装置140のCPU部142にて実行される処理のフローチャートを示している。
(1)受信再生装置140の電源が投入されると、プログラム蓄積部143に蓄積保持した受信再生処理プログラムがCPU部142にロードされ、受信再生の処理動作を開始する(ステップ250)。
(2)受信再生の処理動作を開始すると、入力部125より受信したIPパケットデータからUDPデータの作成を行い、UDPデータとして完成しているか否かの判断を行う(ステップ251、252)。
(3)ステップ252の判断において、UDPデータの一部が廃棄され、UDPデータを再構築できないと判断した場合、未完成となるUDPデータの廃棄を行う(ステップ252、253)。
(4)ステップ252の判断において、UDPデータを再構築出来ると判断した場合は、UDPデータの再構築を行い、続いて処理すべきフロー(例えば、階層ヘッダ内のフロー識別子データ0x6〜0x1)であるか否かの判断を行う(ステップ252、254)。
(5)ステップ254の判断において、処理すべきフローでない場合、データの廃棄を行う(ステップ254、255)。
(6)ステップ254の判断において、処理すべきフローと判断した場合、続いて階層ヘッダ内のシーケンス番号値を取得し、各階層毎に連続であるか否かの判断を行う(ステップ254、256、257)。
(7)ステップ257の判断において、シーケンス番号が不連続である場合、不連続である階層のフローに対する廃棄設定を行い、続いて階層ヘッダ内の制御コードデータ値の取得を行う(ステップ257、258、259)。尚、既に廃棄設定が行われている場合は、廃棄設定を継続する。
(8)ステップ257の判断において、シーケンス番号が連続である場合、続いて階層ヘッダ内の制御コードデータ値の取得を行う(ステップ257、259)。
(9)制御コードデータ値取得後、制御コードデータ値が階層フレームデータの途中(0xC)であるか否かの判断を行う(ステップ260)。
(10)ステップ260の判断において、制御コードデータ値が階層フレームデータの途中(0xC)であると判断した場合、続いて廃棄すべきデータであるか否かを判断する(ステップ260、261)。
(11)ステップ261の判断において、廃棄すべきデータでないと判断した場合、階層番組データの作成を行う(ステップ261、266)。
(12)ステップ261の判断において、廃棄すべきデータであると判断した場合、データの廃棄を行い、次なるUDPデータの作成を開始する(ステップ261、263、251)。
(13)ステップ260の判断において、制御コードデータ値が階層フレームデータの途中(0xC)でないと判断した場合、続いて制御コードデータ値が階層フレームデータの先頭(0xD)であるか否かを判断する(ステップ260、264)。
(14)ステップ264の判断において、制御コードデータ値が階層フレームデータの先頭(0xD)でないと判断した場合、データの廃棄動作を行い、次なるUDPデータの作成を開始する(ステップ264、266、251)。
(15)ステップ264の判断において、制御コードデータ値が階層フレームデータの先頭(0xD)であると判断した場合、該当する階層フレームデータの廃棄処理を終了し、階層番組データの作成を行う(ステップ264、265、267)。尚、廃棄設定が行われていない場合は、階層番組データの作成動作を継続する。
(16)階層番組データ作成後、復号化部146にて階層番組データの復号化を行い、復号化したデータを表示再生部147にて表示再生を行う。
以上が、受信再生装置のCPU部142にて実行される処理のフローである。
図11は、図1に示したパケットデータ転送装置100の変形例150である。図1のパケットデータ転送装置100では、バッファ4内のデータ量を所定のデータ量(パケットデータの廃棄を開始、或いは終了すべきバッファ内のデータ量点)以上有るか無いかを監視(信号21)して選択伝送部3にてパケットデータの伝送を行うか廃棄するかを選択する動作について説明したが、本実施形態によるパケットデータ転送装置150では、前記パケットデータの選択的伝送、廃棄動作に加え、データをマルチキャスト配信する際においてのデータ複製方法について説明する。
図11に示したパケットデータ転送装置150は、基本的には図1のパケットデータ転送装置100と同様の構成であり、異なる点は、複数の入力回線と接続するための入力ポート1(1−1〜1−N)とパケットデータをルーティングするルーテイング部2との間に、マルチキャスト用のデータを作成する複製伝送部7(7−1〜7−N)を設けた点である。以下に、図1のパケットデータ転送装置100と異なる動作を中心にパケットデータ転送装置150の動作について説明する。転送装置150は、始めに図3に示したIPパケットデータ、例えばデータ48、46、42、及び43−1とから構成されるIPパケットデータ等を複数の入力ポート1(1−1〜1−N)から受信する。複数の入力ポートから受信したIPパケットデータは、それぞれ複製転送部7(7−1〜7−N)に転送を行い、必要があればパケットデータの複製を行い、ルーテイング部2を通して、IPパケットヘッダの宛先アドレスにより所定の出力ポート(ここでは、選択伝送部3−1〜3−Nの何れか)へルーティングする。ルーテイング後の処理動作は、図1のパケットデータ転送装置100の動作と同一であるので、以後、図12を用いて複製伝送部7の詳細な構成と動作について説明する。
図12は、複製伝送部7の構成を詳細に示した図である。複製伝送部7は、複製伝送判定部71と、データを一時的に保持するレジスタ72と、データの複製を作成する複製作成部73とから構成する。入力ポート1より受信したIPパケットデータは、一時的にレジスタ72に保持し、IPヘッダ内のDS値の解析を複製伝送判定部71により行う。複製伝送判定部71では、予めマルチキャスト配信時に複製を作製すべきIPパケットデータのフロー識別子データ及び複製を開始する制御コードデータ、及び複製動作を終了する制御コードデータを蓄積保持しておく。ここでは、複製するフローとしてIフレームの高周波成分(フロー識別子データ0x5)を例に説明を行う。またパケットデータの複製作成開始は、0xDの制御コードデータを持つパケットデータから開始し、複製作成配信中
のフローに対しては、複製中であることを示すフラグを複製伝送判定部71内に蓄積保持し、複製を作製する必要がなくなった場合は、制御コードデータ0xDを持つパケットデータから複製の作成を終了する仕様とする。即ち、複製を作製開始する際において、DS値として0x5Cをもつパケットデータを受信している間は複製作成を開始せず、0x5DをもつIPパケットデータを受信してから複製作成を開始する。また複製作成中のフラグが設定されていて且つ複製を作製する必要がなくなった場合、DS値として0x5Cをもつパケットデータを受信している間は複製作成を終了せず、0x5DをもつIPパケットデータを受信してから複製作成を終了するように、複製伝送判定部71は、複製作成部73の制御を行う。以上が、複製伝送部7の構成と動作である。
図13は、図3に示した階層番組データ配信装置の構成を示した図である。図13に示した番組配信装置150は、バス151によって接続したCPU部152とCPU部152にて動作する番組配信プログラムを蓄積したプログラム蓄積部153と、番組配信処理の間に必要なデータの蓄積保持を行うメインメモリ154と、階層番組データを蓄積保持するデータ蓄積部155と、パケットデータ化したデータを配信するための出力部156とから構成する。
番組配信装置150は、始めにプログラム蓄積部153に蓄積保持した処理プログラムをCPU部152にロードし、パケットデータの配信動作を開始する。なお、CPU部152の詳細な配信動作については、図14を用いて後述する。階層番組データの配信動作を開始すると、データ蓄積部155に蓄積保持した階層番組データをメインメモリ部154に読み出し、各階層毎に所定サイズに分割を行い、各分割データに図3にて説明した階層ヘッダを添付して、階層パケットデータを作成する。また階層パケットデータ化したデータにUDPヘッダを付加してUDPパケットデータを作成し、さらにIPパケットデータ化して出力部156から配信を行う。
図14は、番組配信装置150のCPU部152にて実行する配信動作のフローチャートを示している。
(1)番組配信装置150の電源が投入されると、プログラム蓄積部153に蓄積保持した番組配信プログラムをCPU部153にロードし、階層データの配信動作を開始する(ステップ300)。
(2)階層データの配信動作を開始すると、階層データを蓄積したデータ蓄積部155より階層番組データを読み出し、階層映像データのフレームの区切りまで読み込んだかを判断する(ステップ301、302)。
(3)ステップ302の判断において、フレームの区切りまで読み込んでないと判断した場合は、ステップ301に戻って再度データの読み込みを行う(ステップ302、301)。
(4)ステップ302の判断において、フレームの区切りまで読み込んだと判断した場合は、読み込んだデータを所定のサイズ、例えば4kバイト毎に分割を行う(ステップ302、303)。
(5)所定のサイズに分割後、各階層データに対して、図3で説明した階層ヘッダを添付する(ステップ304)。
(6)階層ヘッダを付与した階層パケットデータに対して、UDPヘッダを付与してUDPパケットデータを構成する(ステップ305)。
(7)UDPパケットデータを分割し、各分割データに対して、図3で説明したIPヘッダを付与してIPパケットデータを構成する(ステップ306)。
(8)IPパケットデータ化したデータを、出力部156より配信を行う(ステップ307)。
以上が、番組配信装置150のCPU部152に実行される番組配信動作である。尚、本実施の形態では、図3に示したようなMPEG−1/2符号化を用いた階層データの配信を例に説明を行ったが、符号化方式としてMPEG−4による符号化データを用いてもよい。MPEG−4符号化では、オブジェクト単位に符号化が行われるので、オブジェクト毎にフロー識別子データや制御コードデータを付与してIPパケット配信することにより、MPEG−1/2で行った選択的データ伝送/廃棄や、複製伝送が可能である。
図15は、IPパケットデータをMPLS(Multi-Protocol Label Switching)パケットデータに変換し、変換したMPLSパケットデータをMPLS網にて伝送し、さらにIPパケットデータに再変換して伝送する構成を示している。図15において、75及び77の領域がIP網を示し、76の領域がMPLS網の領域を示す。図15に示したIP網とMPLS網を相互接続した網では、IPパケットデータ71を、160のデータ型変換装置AにてMPLSパケットデータ72に変換し、MPLS網76にて伝送を行う。またMPLSパケットデータ73を、170のデータ型変換装置BにてIPパケットデータに74変換し、IP網77にて伝送を行う。
図16は、図15にて説明したIP網とMPLS網を相互接続した網にて伝送データを伝送するためのIPパケットデータとMPLSパケットデータとの対応を示している。尚、IPパケットデータとMPLSパケットデータとの変換方法については、図18〜図21を用いて後述する。図16に示したIPパケットデータ82として、図3にて説明したMPEG−1/2のデータを仮定して以後説明を行う。
IPパケットデータが、前記MPEG−1/2のデータを伝送する場合、IPパケットヘッダ81内のDS値80として、図4に示した値を利用することが出来る。このように構成したIPパケットデータ(データ81と82とから構成する)をMPLSパケットデータに変換する場合は、各IPパケットデータに対してMPLSヘッダ90(32ビット)を付与することにより構成可能である。MPLSヘッダ90は、図に示したとおり、データを識別するためのラベル91(20ビット)と、実験用のフィールド92(3ビット)と、スタックの最後を示す93(1ビット)と、TTL(Time to Live)94(8ビット)とから構成される。ここで例えば、実験用のフィールド92値として固定値7(2進法で、111)を、スタックフィールド93の値として、伝送データの最初の場合は0(2進法で、0)を、最後の場合は1(2進法で、1)を付与し、TTL94の値としては、例えば15(2進法で、00001111)等の値が利用可能である。ラベル値91の値としては、図17に示したように、IPパケットヘッダ内のDS値の上位ビットに12ビットの変換パッド(2進法で、111111111111)を付加することにより、容易にDS値からMPLSパケットデータのラベル値を作成可能である。
図18は、71のIPパケットデータを72のMPLSパケットデータに変換するデータ型変換装置Aの構成を示している。また図19は、図18のデータ型変換装置AのCPU部162にて実行するデータ型変換プログラムのフローチャートを示している。
図18に示した160のデータ型変換装置Aは、バス161によって接続したCPU部162とCPU部162にて動作するデータ型変換プログラムを蓄積したプログラム蓄積部163と、データ型変換処理の間に必要なデータの蓄積保持を行うメインメモリ164と、IPパケットデータを受信する入力部165と、MPLSパケットデータを出力するための出力部166とから構成する。160のデータ型変換装置Aは、始めにプログラム蓄積部163に蓄積保持した処理プログラムをCPU部162にロードし、データ型の変換処理動作を開始する。なお、CPU部162の詳細な配信動作については、図19を用いて後述する。データ型変換の処理動作を開始すると、入力部165より71のIPパケットデータを受信し、一時的にメインメモリ164に蓄積保持する。受信したIPパケットデータのヘッダ内にあるDS値を参照し、MPLSヘッダを作成する。作成したMPLSヘッダをIPパケットデータの先頭に付与してMPLSパケットデータを作成し、出力部166より72のMPLSパケットデータを出力する。
図19は、160のデータ型変換装置AのCPU部162にて実行するデータ型変換処理動作のフローチャートを示している。
(1)データ型変換装置Aの電源が投入されると、プログラム蓄積部163に蓄積保持したデータ型変換処理プログラムをCPU部162にロードし、データ型変換処理動作を開始する(ステップ350、351)。
(2)データ型変換処理動作を開始すると、入力部165よりIPパケットデータの受信を開始し、IPパケットデータを受信したか否かの判断を行う(ステップ351)。
(3)ステップ351の判断において、IPパケットデータを受信していないと判断した場合、IPパケットデータの受信待ち動作を継続する(ステップ351)。
(4)ステップ351の判断において、IPパケットデータを受信していると判断した場合、IPパケットヘッダ内のDS値より図16、17にて説明したMPLSパケットヘッダを作成する(ステップ352)。
(5)MPLSパケットヘッダ作成後、IPパケットデータの先頭にMPLSパケットヘッダを付与して、出力部166よりMPLSパケットデータの出力を行う(ステップ353)。以上が、160のデータ型変換装置AのCPU部162にて実行するデータ型変換処理動作である。
図20は、73のMPLSパケットデータを74のIPパケットデータに変換するデータ型変換装置Bの構成を示している。また図21は、図20のデータ型変換装置BのCPU部172にて実行するデータ型変換プログラムのフローチャートを示している。
図20に示した170のデータ型変換装置Bは、バス171によって接続したCPU部172とCPU部172にて動作するデータ型変換プログラムを蓄積したプログラム蓄積部173と、データ型変換処理の間に必要なデータの蓄積保持を行うメインメモリ174と、MPLSパケットデータを受信する入力部175と、IPパケットデータを出力するための出力部176とから構成する。170のデータ型変換装置Bは、始めにプログラム蓄積部173に蓄積保持した処理プログラムをCPU部172にロードし、データ型の変換処理動作を開始する。なお、CPU部172の詳細な配信動作については、図21を用いて後述する。データ型変換の処理動作を開始すると、入力部175より73のMPLSパケットデータを受信し、一時的にメインメモリ174に蓄積保持する。受信したMPL
Sパケットデータのヘッダデータを削除し、IPパケットデータを作成し、出力部176より74のIPパケットデータを出力する。
図21は、170のデータ型変換装置BのCPU部172にて実行するデータ型変換処理動作のフローチャートを示している。
(1)データ型変換装置Bの電源が投入されると、プログラム蓄積部173に蓄積保持したデータ型変換処理プログラムをCPU部172にロードし、データ型変換処理動作を開始する(ステップ360、361)。
(2)データ型変換処理動作を開始すると、入力部175よりMPLSパケットデータの受信を開始し、MPLSパケットデータを受信したか否かの判断を行う(ステップ361)。
(3)ステップ361の判断において、MPLSパケットデータを受信していないと判断した場合、MPLSパケットデータの受信待ち動作を継続する(ステップ361)。
(4)ステップ361の判断において、MPLSパケットデータを受信していると判断した場合、MPLSパケットデータのヘッダデータを削除し、IPパケットデータを作成する(ステップ362)。
(5)IPパケットデータ作成後、出力部176よりIPパケットデータの出力を行う(ステップ363)。以上が、170のデータ型変換装置BのCPU部172にて実行するデータ型変換処理動作である。
図22は、本発明の実施形態によるMPLSパケットデータ転送装置500の構成を示す図である。具体的には、複数の入力回線と接続するための入力ポート501(501−1〜501−N)と、MPLSパケットデータをルーティングするルーテイング部502と、複数の出力回線用にルーティングされたデータを選択的に伝送するための選択伝送部503(503−1〜503−N)と、各選択伝送部に接続したバッファ504(504−1〜504−N)と、複数の出力回線と接続するための出力ポート505(505−1〜505−N)とから構成する。入力ポート501(501−1〜501−N)はイングレスカードによって作ることができる。また、選択伝送部503(503−1〜503−N)、各選択伝送部に接続したバッファ504(504−1〜504−N)、及び複数の
出力回線と接続するための出力ポート505(505−1〜505−N)はエグレスカード205(205−1〜205−N)として作ることもできる。
MPLSパケットデータ転送装置500は、始めに図16に示したMPLSパケットデータ、例えばラベル値として図17に示した値を持つデータ等を複数の入力ポート501(501−1〜501−N)から受信する。受信したMPLSパケットデータは、ラベル値によりルーテイング部502を通して所定の出力ポート(ここでは、選択伝送部503−1〜503−Nの何れか)へルーティングする。選択データ部503(503−1〜503−N)に転送したMPLSパケットデータは、後段に接続したバッファのデータ量信号521(521−1〜521−N)によって選択伝送部503(503−1〜503−N)からバッファ504(504−1〜504−N)へ伝送するか否かを判定する。
図22のMPLSパケットデータ転送装置500では、バッファ504(504−1〜504−N)内のデータ量が所定のデータ量(MPLSパケットデータの廃棄を開始、或いは終了すべきバッファ内のデータ量点)以上有るか無いかを監視する場合を示しており、バッファ504(504−1〜504−N)内のデータ量が所定量以上であるか否かを、信号521(521−1〜521−N)にて選択伝送部503(503−1〜503−N)へ通知する。これにより、受信したMPLSパケットデータを選択伝送部503(503−1〜503−N)からバッファ504(504−1〜504−N)へ伝送するか否かを判定する。伝送する場合には選択伝送部503(503−1〜503−N)よりバッファ504(504−1〜504−N)へMPLSパケットデータを伝送する。伝送しない(廃棄する)場合は、選択伝送部503(503−1〜503−N)よりバッファ504(504−1〜504−N)へMPLSパケットデータを伝送せず、選択伝送部503(503−1〜503−N)内にて廃棄を行う。尚、選択伝送部503(503−1〜503−N)の動作については、図23を用いて後述する。バッファ504(504−1〜504−N)内に伝送したMPLSパケットデータは、出力ポート505(505−1〜505−N)より出力回線へと配信する。
図23は、選択伝送部503の構成を詳細に示した図である。選択伝送部503は、選択伝送判定部531と、データを一時的に保持するレジスタ532と、データの転送を実行する転送部533とから構成する。ルーテイング部502よりルーティングしたMPLSパケットデータは、一時的にレジスタ532に保持し、MPLSヘッダ内のラベル値の解析を選択伝送判定部531により行う。選択伝送判定部531では、予めバッファ504内のデータ量が所定量以上(輻輳時)である場合に廃棄するMPLSパケットデータのラベル値を蓄積保持しておく。
ここでは、バッファ504の輻輳時、廃棄するフローとしてBフレームの高周波成分(ラベル内のフロー識別子データが0x1)を設定しておく例で説明する。またMPLSパケット廃棄の開始は、ラベル内の制御コードデータが0xDを持つMPLSパケットデータから開始し、廃棄中のフローに対しては、廃棄中であることを示すフラグを選択伝送判定部531内に蓄積保持し、廃棄フラグが設定されていて且つバッファ504の輻輳が解消されたときは、ラベル内の制御コードデータ0xDを持つパケットデータからバッファ504への伝送を開始する。即ち、バッファ504の輻輳時、ラベル値として0xFFF1CをもつMPLSパケットデータを受信している間は廃棄を開始せず、ラベル値として0xFFF1DをもつMPLSパケットデータを受信してから廃棄を開始する。また廃棄フラグが設定されていて且つバッファ504の輻輳が解消された場合、ラベル値として0xFFF1Cをもつパケットデータを受信している間は廃棄を終了せず、0xFFF1DをもつMPLSパケットデータを受信してから廃棄を終了するように、選択伝送判定部531は、転送部533の制御を行う。転送部533は、選択伝送判定部531の制御により、レジスタ532から読み出したMPLSパケットデータをバッファへ504へ転送するか廃棄するかの動作を行う。
以上が、選択伝送部503の構成と動作である。尚、図22、23を用いて説明した選択伝送、或いは廃棄については、バッファ内のデータ量により廃棄開始・終了点を1点だけ設定し、1つの階層のみ選択的に伝送、或いは廃棄を行ったが、廃棄開始・終了点を2点以上設定し、2階層以上選択的に伝送、或いは廃棄を行ってもよい。また、バッファ内のデータ量により、廃棄開始点と廃棄終了点を個別に設定して選択的に伝送、或いは廃棄を行ってもよい。以上が、図22、23に示したMPLSパケットデータ転送装置500の構成と処理動作である。
以上これまで説明した、伝送網輻輳時において所定の識別子を持つデータフローに対して、所定の制御コードデータを持つパケットデータから廃棄を開始し、また所定の制御コードデータを持つパケットデータから廃棄を終了する選択的パケット伝送・廃棄方法は、ATM(Asynchronous Transfer Mode)網においても、またIPv6(Internet Protocol Version 6)網においても実現可能である。
ATM網では、53バイトのATMセルによりデータ伝送を行う。53バイトのATMセルは、5バイトのATMセルヘッダと48バイトのデータから構成する。5バイトのセルヘッダは、フローを識別するためのフィールドとしてVPI(Virtual Path Identifier)、VCI(Virtual Channel Identifier)が存在し、またデータのタイプを示すPT(Payload Type)がする。これにより、所定の識別子をVPI、VCIマッピングし、また所定の識別子としてPTを用いることにより選択的伝送・廃棄を実現可能である。具体的には、複数階層から構成するデータの各階層をVPI、VCIにマッピングし、例えばMPEGデータのフレームの先頭データを伝送するATMのPTとフレームの途中のデータを伝送するPTとを異なる値に設定し、ATM交換器内にて輻輳が発生した場合、前記映像フレームの先頭データを伝送するPTを持つATMセルから廃棄を開始し、また廃棄開始後は、前記映像フレームの先頭データを伝送するPTを持つATMセルから廃棄を終了するようにすることにより、IP網、或いはMPLS網にて実現する選択的パケット伝送・廃棄機能が実現可能である。
IPv6網は、前記IP(正確には、IPv4)網の次世代網であり、基本となるIPv6ヘッダは、3バイトのフロー・ラベル領域を持つので、IPv4網で利用した1バイトのDSフィールド値の先頭に2バイトの変換パッド(例えば0xFFFF)を付加することにより、容易にDSフィールドとフロー・ラベルとの対応が可能であり、前記選択的パケット伝送・廃棄機能が実現可能である。
1:入力ポート、2:ルーティング部、3:選択伝送部、4:バッファ、5:出力ポート、21:データ量信号、31:選択伝送判定部、32:レジスタ、33:転送部、100,110:パケットデータ転送装置、120:データ整形サーバ、140:受信再生装置,150:パケットデータ転送装置、160:データ型変換装置、170:データ型変換装置,500:MPLSパケットデータ転送装置