JP2004186882A - 通信装置および通信方法 - Google Patents
通信装置および通信方法 Download PDFInfo
- Publication number
- JP2004186882A JP2004186882A JP2002349981A JP2002349981A JP2004186882A JP 2004186882 A JP2004186882 A JP 2004186882A JP 2002349981 A JP2002349981 A JP 2002349981A JP 2002349981 A JP2002349981 A JP 2002349981A JP 2004186882 A JP2004186882 A JP 2004186882A
- Authority
- JP
- Japan
- Prior art keywords
- packet
- network
- unit
- data
- buffer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Abstract
【課題】ネットワーク上にパケットを等間隔で送出するときにバッファがオーバーフローすることを防止する。
【解決手段】MPEG2のTSパケットがRTP回路1によってRTPプロトコルにしたがってパケット化され、次に、プロトコルスタックおよびルータ回路2によって、UDPでさらにパケット化される。プロトコルスタック部でUDPヘッダ、IPヘッダおよびDIXヘッダが順に付加される。次に、ルータ部でDIXヘッダがタグ付きDIXヘッダへ変更される。TSバッファ13を有するトラフィックシェーパ3がパケット化されたデータをスケジューリングしてネットワークコントローラ4に対して出力する。信号路6を介してTSバッファ13の使用状況の情報がRTP回路1に対して知らされ、RTP回路1は、パケット化出力のタイミングを遅らせたり、一時的に停止し、TSバッファ13のオーバーフローを防止する。
【選択図】 図1
【解決手段】MPEG2のTSパケットがRTP回路1によってRTPプロトコルにしたがってパケット化され、次に、プロトコルスタックおよびルータ回路2によって、UDPでさらにパケット化される。プロトコルスタック部でUDPヘッダ、IPヘッダおよびDIXヘッダが順に付加される。次に、ルータ部でDIXヘッダがタグ付きDIXヘッダへ変更される。TSバッファ13を有するトラフィックシェーパ3がパケット化されたデータをスケジューリングしてネットワークコントローラ4に対して出力する。信号路6を介してTSバッファ13の使用状況の情報がRTP回路1に対して知らされ、RTP回路1は、パケット化出力のタイミングを遅らせたり、一時的に停止し、TSバッファ13のオーバーフローを防止する。
【選択図】 図1
Description
【0001】
【発明の属する技術分野】
この発明は、例えばAV(Audio Visual)データ等のリアルタイムデータをネットワークに送出する場合に、均等且つ適切な間隔で順番にパケットを送出する機能を有する通信装置および通信方法に関する。
【0002】
【従来の技術】
インターネットを介してAVストリームデータを家庭に配信し、家庭において、受け取ったAVストリームデータを家庭内のLAN(Local Area Network) を通じて端末装置に送信し、端末装置によってストリーミング再生するようなシステムが考えられている。LANとしては、IEEE(Institute of Electrical and Electronics Engineers)802.11a,IEEE802.11b等のワイヤレスLAN、イーサネット(登録商標)等が使用されている。また、AVストリームデータの送受信するためにRTP(Real−Time Transport Protocol:リアルタイム転送プロトコル)というプロトコルが利用される。
【0003】
AVストリームデータを送受信する場合、パケット間隔が一定ではなく、バースト状になったり、バラバラの間隔になったりすることがある。このような状況では、受信端末側に設けられている受信バッファがオーバーフローまたはアンダーフローすることがあり、オーバーフローの結果、パケットの欠落が発生し、アンダーフローの結果、AVデータの復号時に期限切れとなってAVデータが捨てられる。結果的に映像や音声が途切れ、高品位なAVストリームデータを伝送することができない問題が生じる。受信側に充分大きな容量の受信バッファを備えれば、オーバーフローまたはアンダーフローのおそれを少なくできるが、受信側装置の価格が高くなる問題が生じる。
【0004】
このような問題が発生しないように、例えば送信側にトラフィックシェーパが設けられる。トラフィックシェーパは、送出されるパケットがバースト状に転送されたり、不均一な間隔でパケットが送出されるのを防ぐために、均等な間隔でパケットを送出する機能を有する。従来では、MPEGエンコーダが圧縮した画像データをイーサネットに送出する場合に、ネットワーク上でパケットの衝突や消失が生じることによって、クライアント側での再生画像が乱れることを防止するための方法が下記の特許文献1に記載されている。
【0005】
【特許文献1】
特開2001−86499号公報
【0006】
この特許文献1では、MPEG圧縮回路のFIFO(First−In First−Out)メモリと、DRAM上に確保したメモリ領域と、イーサネット回路のメモリの内で、DRAM上に確保したメモリ領域と、イーサネット回路のメモリの使用量を減らし、全体のメモリ使用量をできるだけMPEG圧縮回路のFIFOメモリに集約させ、FIFOメモリの使用状況に応じてネットワークに送出するデータ量を調節することが開示されている。
【0007】
【発明が解決しようとする課題】
上述した特許文献1に記載のものは、MPEG圧縮回路のFIFOメモリの使用状況を調べるもので、MPEG圧縮回路からのストリームデータを受け取って、送出されるパケットがバースト状に転送されたり、不均一な間隔でパケットが送出されるのを防ぐトラフィックシェーパの機能と異なるものである。トラフィックシェーパでは、ネットワークにおいて一時的にトラフィックが増大することによって送出できないパケットがトラフィックシェーパのバッファに蓄積され、バッファが一杯となる。この状態でさらにトラフィックシェーパにパケットが入力されると、バッファからデータがあふれ、パケットの消失や、バックプレッシャーによって他の送信フローまで止めてしまう問題があった。これらの問題を回避しようとすると、トラフィックシェーパに必要以上に大きなバッファを用意することになり、ハードウエアの回路規模の増大、消費電力の増大、コストの増加が生じる。
【0008】
さらに、MPEGエンコーダからトラフィックシェーパに対して送出されるデータレートとトラフィックシェーパから送出されるデータレートとが完全に一致していることがトラフィックシェーパの機能を発揮する前提である。若し、この前提がくずれると、トラフィックシェーパのバッファにおいてオーバーフローが生じる。
【0009】
したがって、この発明の目的は、必要以上に大きな容量のバッファメモリを必要としないで、トラフィックシェーパの機能を発揮できる通信装置および通信方法を提供することにある。
【0010】
また、この発明の他の目的は、エンコーダからの入力データレートと送出データレートのずれによってオーバーフローが発生することを防止できる通信装置および通信方法を提供することにある。
【0011】
【課題を解決するための手段】
上述した課題を解決するために、請求項1の発明は、エンコーダから供給された符号化データをパケット化してネットワークへ送出する通信装置において、
符号化データを第1の記憶手段へ蓄積させた上で、蓄積された符号化データをネットワークのプロトコルにしたがってパケット化するネットワークプロトコル処理部と、
ネットワークプロトコル処理部のパケット化により生成されたパケットデータを第2の記憶手段に蓄積させ、蓄積されたパケットデータを等間隔で出力するトラフィックシェイピング部と、
トラフィックシェイピング部から出力されたデータをネットワークに対して送出するパケット送出部と、
トラフィックシェイピング部から第2の記憶手段の使用量を示すバッファ情報を受領することにより、使用量が所定値を超えたものと判断された場合には、ネットワークプロトコル処理部に対してパケットデータの出力を抑制させる制御部とを備えたことを特徴とする通信装置である。
【0012】
請求項3の発明は、エンコーダから供給された符号化データをパケット化してネットワークへ送出する通信装置において、
符号化データをネットワークのプロトコルにしたがってパケット化し、記憶手段へ格納するネットワークプロトコル処理部と、
ネットワークプロトコル処理部に対して、記憶手段へ格納されたデータを等間隔で出力させるトラフィックシェイピング部と、
ネットワークプロトコル処理部から出力されたデータをネットワークへ送出する送出部とを備えたことを特徴とする通信装置である。
【0013】
請求項4の発明は、エンコーダから供給された符号化データをパケット化してネットワークへ送出する通信装置において、
符号化データをネットワークのプロトコルにしたがってパケット化するネットワークプロトコル処理部と、
ネットワークプロトコル処理部のパケット化により生成されたパケットデータを等間隔で出力するトラフィックシェイピング部と、
トラフィックシェイピング部から出力されたパケットデータをネットワークに対して送出する送出部と、
ネットワークプロトコル処理部とトラフィックシェイピング部との間で共有され、ネットワークプロトコル処理部によりパケット化されたデータを格納すると共に、トラフィックシェイピング部からの要求に応じて格納されているパケットデータをトラフィックシェイピング部へ供給する記憶手段とを備えたことを特徴とする通信装置である。
【0014】
請求項5の発明は、エンコーダから供給された符号化データをパケット化するステップと、ステップにおけるパケット化により生成されたパケットデータを記憶手段に保存し、保存されたパケットデータを等間隔でネットワークへ送出するステップとを有する通信方法において、
記憶手段に保存されたパケットデータの量に応じて、パケットデータの記憶手段への供給量を制限するステップを有することを特徴とする通信方法である。
【0015】
請求項6の発明は、エンコーダから供給された符号化データをパケット化してネットワークへ送出する通信装置において、
符号化データをネットワークのプロトコルにしたがってパケット化するネットワークプロトコル処理部と、
ネットワークプロトコル処理部のパケット化により生成されたパケットデータを記憶する記憶手段と、
記憶手段に記憶されたパケットデータを等間隔で出力するトラフィックシェイピング部と、
記憶手段に記憶されているパケットデータのデータ量が所定値を超えたか否かを監視して、データ量が所定値を超えた場合にはトラフィックシェイピング部に対して記憶手段に記憶されているパケットデータを強制的に出力させる監視部と、
トラフィックシェイピング部から出力されたパケットデータをネットワークに対して送出する送出部とを備えたことを特徴とする通信装置である。
【0016】
請求項8の発明は、二つのネットワーク間に配置され、いずれか一方のネットワークを介して受信したパケットデータを他方のネットワークに送出する通信装置において、
一方のネットワークを介して受信したパケットデータを記憶手段に記憶させ、記憶されたパケットデータを等間隔で他方のネットワークへ送出するトラフィックシェイピング部を備えたことを特徴とする通信装置である。
【0017】
請求項9の発明は、二つのネットワーク間において、いずれか一方のネットワークを介して受信されたパケットデータを他方のネットワークに送出する通信方法であって、
一方のネットワークを介して受信したパケットデータ保存し、保存されたパケットデータを等間隔で他方のネットワークへ送出することを特徴とする通信方法である。
【0018】
この発明では、トラフィックシェーパがバッファの状況を示すバッファ情報を出力する機能を有し、バッファ情報が前段のプロトコル処理回路にフィードバックされ、バッファがあふれそうまたは満杯であるという情報を前段のプロトコル処理が知ることを可能とし、それによってパケット化を遅らせたり、止めたりして、トラフィックシェーパに対する入力を制御している。それによって、パケットのロスが生じたり、他の全ての送信フローまで止めてしまう問題を回避することができる。
【0019】
また、この発明では、前段のプロトコル処理回路のバッファの容量を大きくし、バッファがトラフィックシェーパのバッファを兼ねるようにしているので、別々にバッファを設けるのと比較してメモリの有効利用、メモリの周辺回路の簡略化が可能となる。
【0020】
また、この発明では、前段のプロトコル処理回路のバッファと、トラフィックシェーパのバッファとを統合したバッファを設けるので、別々にバッファを設けるのと比較して、メモリの周辺回路(アドレスデコーダ、メモリコントローラ、アービトレーション、BIST等が削減でき、チップサイズの縮小化と、消費電力の削減が可能となる。
【0021】
さらに、この発明によれば、MPEGエンコーダからの入力レートとシェイピングブロックの送出レートとのずれによってバッファがオーバーフローしそうになると、パケットを強制的に送出することによって、バッファのオーバーフローを防止することができる。さらに、バッファがオーバーフローするおそれがあることをホストCPUに通知して、ホストCPUによってエンコードレートおよびシェイピングレートを調整するので、これらのレートを最適な値に制御することができる。
【0022】
よりさらに、この発明は、ブリッジがトラフィックシェイピングの機能を持つので、第1に、送信側システムから入ってきたパケットを均等な間隔で受信側システムに対して送出できるので、受信側システムのバッファの容量が少ない場合でも、パケットの欠落を防ぐことができ、高品位なデータ伝送ができる。第2に、トラフィックシェーパの機能をハードウエアで実現するため、ブリッジを制御するCPUに対して負担がかからない。したがって、非力なCPUによってブリッジを実現できる。また、ソフトウェアでトラフィックシェーパの機能を実現するのと比較して高スループットが実現できる。第3に、ブリッジ内にトラフィックシェーパの機能を搭載することによって、送信側システムにトラフィックシェーパの機能を備える必要がない。したがって、送信側および受信側にどのような機器でも接続することができ、汎用性を持つことができる。第4に、ネットワークの設定を変更する必要がないブリッジにおいてトラフィックシェーパの機能を実現しているので、ネットワークの上位層に負担をかけない利点がある。
【0023】
【発明の実施の形態】
以下、この発明の第1の実施形態について説明する。図1は、第1の実施形態による通信装置の構成を示す。通信装置は、例えば1チップのLSI(Large Scale Integrated Circuit:大規模集積回路)として実現される。第1の実施形態では、MPEG2(Moving Picture Experts Group Phase 2)のTS(Transport Stream)パケットをRTP(Real−time Transport Protocol:リアルタイム転送プロトコル)を使用してLANに流すものである。参照符号1は、MPEG2エンコーダ(図示しない)から入力されたデータをRTPプロトコルにしたがってパケット化するRTP回路を示す。RTP回路1は、入力されたデータを蓄えるメモリを含むRTPバッファ11を備える。
【0024】
図2Aは、MPEG2エンコーダから入力されるTSパケットを示す。1パケットは、188バイトの長さである。なお、図2において、()内の数字は、バイト数を表している。RTP回路1は、RTPバッファ11を備え、図2Bに示すように、7個のTSパケットをまとめ、7個のTSパケット(1316バイト)に対してRTPヘッダ(20バイト)を付加する。図3は、RTPヘッダの構成を示す。RTPヘッダには、シーケンスナンバー、タイムスタンプ、SSRC、CSRC等が含まれている。
【0025】
参照符号2は、RTP回路1でパケット化されたデータをネットワークプロトコルUDP(User Datagram Protocol)でさらにパケット化するプロトコルスタックおよびルータ回路である。プロトコルスタックおよびルータ回路2のプロトコルスタック部では、図2Cに示すように、RTPヘッダの前にUDPヘッダ(8バイト)が付加される。図4は、UDPヘッダの構成を示す。UDPヘッダには、ソース(送信元)ポートナンバーおよびディスティネーション(宛先)ポートナンバー、UDPレングス、UDPチェックサムが含まれる。
【0026】
UDPヘッダが付加されると、次に、プロトコルスタック部では、図2Dに示すように、IPヘッダ(20バイト)が付加される。図5は、IPヘッダの構成を示す。IHLは、インターネットヘッダ長を示し、ここで指定された値を4倍したバイト長がIPヘッダ長となる。バージョンは、インターネットプロトコルのバージョンを示す。さらに、TOS(:サービスタイプ)、データを含めたIPパケットの全長を示すトータルレングス、ID、フラグ、フラグメントオフセットは、IPパケットを分割して送る場合に使用される。TTL(Time To Live)は、通信可能なルータの残り個数を示す。ルータをデータを仲介する度にこのを減らす。プロトコルタイプは、データ部に含む上位プロトコル等の種別を示す。さらに、IPヘッダが正しくやり取りされたか否かを検出するためのヘッダチェックサム、ソースアドレス、ディスティネーションアドレスがIPヘッダに含まれている。ソースアドレスは、送信元のIPアドレスである。ディスティネーションアドレスは、最終目的地の宛先IPアドレスである。
【0027】
次に、プロトコルスタック部では、図2Eに示すように、IPヘッダの前にDIXヘッダ(14バイト)が付加される。図6は、DIXヘッダの構成を示す。DIXヘッダには、ディスティネーションMAC(Media Access Control)アドレス、ソースMACアドレスおよびタイプが含まれる。
【0028】
次に、プロトコルスタックおよびルータ回路2のルータ部において、図2Fに示すように、DIXヘッダがタグ付きDIXヘッダ(18バイト)へ変更される。図7は、タグ付きDIXヘッダの構成を示す。DIXヘッダに対して、プロトコル、VLAN、TCIが付加されている。
【0029】
プロトコルスタックおよびルータ回路2からは、図2Fに示す構成のパケットが出力され、トラフィックシェーパ3に出力される。トラフィックシェーパ3は、パケット化されたデータをスケジューリングしてネットワークコントローラ4に対して出力する。トラフィックシェーパ3は、トラフィックシェーパバッファ(以下、適宜TSバッファと略す)13を有している。ネットワークコントローラ4は、トラフィックシェーパ3でスケジューリングされたパケットデータをネットワークに送出する。トラフィックシェーパ3では、パケットの内容が変更されない。ネットワークコントローラ4では、パケットの後に自動的にFCS(Frame Check Sequence)を追加する。
【0030】
図1において、参照符号5は、ホストインターフェース回路を示す。ホストインターフェース回路5を介してネットワーク通信装置がホストCPU(Central Processing Unit) と接続される。RTP回路1、プロトコルスタックおよびルータ2、トラフィックシェーパ3、ネットワークコントローラ4のそれぞれとホストインターフェース回路5とが接続され、ホストCPUが各回路の設定、インタラプト等を制御することが可能とされている。ホストインターフェース回路5には、ホストCPUが読み書きできるレジスタが備えられている。
【0031】
第1の実施形態では、参照符号6で示す信号路を介してトラフィックシェーパ3からTSバッファ13の使用状況の情報(TSバッファ情報信号と称する)がRTP回路1に対して知らされる。RTP回路1は、TSバッファ情報に基づいてRTP回路1からのパケット化出力のタイミングを遅らせたり、一時的に停止する。
【0032】
図8は、TSバッファ情報をRTP回路1に供給しない構成(すなわち、従来の構成)の処理の流れを示すフローチャートである。ステップS1において、AVデータ(TSパケット(図2A参照))が入力される。RTP回路1のRTPバッファ11に入力AVデータが蓄えられ、パケット化に必要な量例えば7個のTSパケットがRTPバッファ11に蓄積されると、RTP回路1によってパケット化され、RTPバッファ1からパケット化データ(図2B参照)が出力される(ステップS2)。
【0033】
ステップS3において、プロトコルスタックおよびルータ2において、図2C、図2D、図2E、図2Fを参照して説明したように、ネットワークプロトコルに合わせてさらにパケット化される。プロトコルスタックおよびルータ2からパケット化されたデータがトラフィックシェーパ3のTSバッファ13に蓄積される。
【0034】
ステップS6では、パケット長、転送レート等から計算された送出スケジュールにしたがってTSバッファ13からパケットが読み出され、ネットワークコントローラ4に対して読み出されたパケットが供給される。ステップS7において、ネットワークコントローラ4がパケットをネットワークに送出できる形態に変換し、ステップS8において、送出可能な時にパケットを送出する。ホストインターフェース回路5は、これらの一連の動作状態を監視し、必要があれば、ホストCPUから制御を行う。
【0035】
若し、ネットワークのトラフィックが増大してステップS8においてパケットを送出できないと、ステップS6においてTSバッファの読み出しができない。その状態が続くと、TSバッファ13があふれてしまう。ステップS3において、パケット化されたデータをTSバッファ13に蓄積する時に、ステップS4において、TSバッファが満杯かどうかが判定される。
【0036】
ステップS4において、TSバッファ13が満杯と判定されると、ステップS5において、到来したパケットの破棄またはバックプレッシャーの処理がなされる。バックプレッシャーは、トラフィックシェーパ3がパケットデータの受け取りを止めることである。データを破棄すれば、パケットのロスが生じ、バックプレッシャーは、他の全ての送信フローまで止めてしまう問題があった。
【0037】
図9は、図1に示すように、信号路6を備えた第1の実施形態の処理の流れを示す。ステップS11においてAVデータが入力され、ステップS12において、RTPバッファ11が満杯か否かが判定される。満杯でなければ、ステップS14のRTPバッファ11への入力に処理が移る。満杯であれば、ステップS13に処理が移り、AVデータの受付の拒否をホストCPUに対して通知する。
【0038】
RTPバッファ11が満杯でなければ、ステップS14において、AVデータがRTPバッファ11に入力される。ステップS15では、信号路6を介してトラフィックシェーパ3から送られてくるTSバッファ情報信号に基づいて、TSバッファ13が満杯か否かが判定される。TSバッファ情報信号は、満杯か否かに限らず、満杯になりそうなことを知らせるようにしても良い。
【0039】
TSバッファ13が満杯でないと判定されると、ステップS16において、RTPバッファ11からAVデータが出力され、RTPヘッダが付加される。若し、TSバッファ13が満杯であるとステップS15において判定されると、ステップS16(RTPバッファ11からの出力)へ処理が移らないで、TSバッファ13が満杯でないと判定されるまで待機する。
【0040】
ステップS16において、RTPバッファ11からAVデータが出力され、RTPヘッダが付加される。ステップS17において、プロトコルスタックおよびルータ2において、図2C、図2D、図2E、図2Fを参照して説明したように、ネットワークプロトコルに合わせてさらにパケット化される。プロトコルスタックおよびルータ2からパケット化されたデータがトラフィックシェーパ3のTSバッファ13に蓄積される。
【0041】
ステップS18では、パケット長、転送レート等から計算された送出スケジュールにしたがってTSバッファ13からパケットが読み出され、ネットワークコントローラ4に対して読み出されたパケットが供給される。ステップS19において、ネットワークコントローラ4がパケットをネットワークに送出できる形態に変換し、ステップS20において、送出可能な時にパケットを送出する。ホストインターフェース回路5は、これらの一連の動作状態を監視し、必要があれば、ホストCPUから制御を行う。
【0042】
上述したように、この発明の第1の実施形態では、トラフィックシェーパ3がTSバッファ13の状況を示すTSバッファ情報を出力する機能を有し、TSバッファ情報がRTP回路1にフィードバックされ、TSバッファ13があふれそうまたは満杯であるという情報をRTP回路1が知ることを可能とし、RTP回路1がパケット化を遅らせたり、止めたりして、トラフィックシェーパ3に対する入力を制御している。それによって、パケットのロスが生じたり、他の全ての送信フローまで止めてしまう問題を回避することができる。
【0043】
次に、この発明の第2の実施形態について、図10および図11を参照して説明する。第2の実施形態では、図10に示すように、RTPバッファ11aの容量を大きくし、TSバッファ3を無くしたものである。トラフィックシェーパ3aは、スケジュール管理のみを行い、パケットの送出指示をRTP回路1に伝える。送出指示を受け取ったRTP回路1は、RTPバッファ11aからパケットを読み出し、図2Aに示すように、RTPヘッダが付加され、RTPヘッダを有するパケットがプロトコルスタックおよびルータ2に供給される。トラフィックシェーパ3aは、パケット長、転送レート等から計算された送出スケジュールにしたがってRTPバッファ11aからデータを読み出すように、RTP回路1を制御する。
【0044】
RTPバッファ11aからの読み出しレートが書き込みレートより低いと、RTPバッファ11aがオーバーフローするおそれがある。RTP回路1は、RTPバッファ11aの中でTSバッファの機能を有する部分が満杯であることを検出して、その場合では、RTPバッファ11aに対するAVデータの書き込み一時的に停止する。
【0045】
図11は、第2の実施形態の処理の流れを示す。ステップS31においてAVデータが入力され、ステップS32において、RTPバッファ11aが満杯か否かが判定される。満杯でなければ、ステップS34のRTPバッファ11aへの入力に処理が移る。満杯であれば、ステップS33に処理が移り、AVデータの受付の拒否をホストCPUに対して通知する。
【0046】
RTPバッファ11aが満杯でなければ、ステップS34において、AVデータがRTPバッファ11aに入力される。ステップS36は、RTPバッファ11aからのAVデータの出力である。RTPバッファ11aからのAVデータの出力は、ステップS35において、トラフィックシェーパ3aが発生した送出指示に基づいてなされる。
【0047】
ステップS36において、RTPバッファ11aからAVデータが出力され、RTPヘッダが付加される。ステップS37において、プロトコルスタックおよびルータ2において、ネットワークプロトコルに合わせてさらにパケット化される。プロトコルスタックおよびルータ2からパケット化されたデータがネットワークコントローラ4に対して供給される。ステップS38において、ネットワークコントローラ4がパケットをネットワークに送出できる形態に変換し、ステップS39において、送出可能な時にパケットを送出する。ホストインターフェース回路5は、これらの一連の動作状態を監視し、必要があれば、ホストCPUから制御を行う。
【0048】
第2の実施形態では、RTPバッファ11aの容量を大きくし、RTPバッファ11aがTSバッファを兼ねるようにしているので、別々にバッファを設けるのと比較してメモリの有効利用、メモリの周辺回路の簡略化が可能となる。
【0049】
次に、この発明の第3の実施形態について図12および図13を参照して説明する。第3の実施形態では、図12に示すように、RTPバッファ、TSバッファをまとめた統合バッファ14を設ける。統合バッファ14からRTP回路1に対して統合バッファ14が満杯かどうかの情報が供給される。また、プロトコルスタックおよびルータ回路の機能をトラフィックシェーパ3bに統合する。トラフィックシェーパ3bがスケジュール管理と、統合バッファ14からのデータの読み出しとパケット化を行う。
【0050】
図13は、第3の実施形態の処理の流れを示す。ステップS41においてAVデータが入力され、ステップS42において、統合バッファ14が満杯か否かが判定される。満杯でなければ、ステップS44の統合バッファ14への入力に処理が移る。満杯であれば、ステップS43に処理が移り、AVデータの受付の拒否をホストCPUに対して通知する。
【0051】
統合バッファ14が満杯でなければ、ステップS44において、AVデータがRTP回路1から統合バッファ14へ入力される。統合バッファ14に所定数のTSパケットが蓄えられると、所定数のTSパケットが読み出され、RTP回路1においてRTPヘッダが付加され、RTPヘッダが付加されたデータが統合バッファ14に再び書き込まれる。
【0052】
ステップS45において、統合バッファ14からAVデータが読み出され、トラフィックシェーパ3bに供給される。トラフィックシェーパ3bでは、プロトコルスタックおよびルータが行うパケット化がなされる。すなわち、図2C、図2D、図2Eおよび図2Fを参照して説明したようなUDPヘッダの付加、IPヘッダの付加、DIXヘッダの付加、タグ付きDIXヘッダの生成の処理をトラフィックシェーパ3bが行う。これらの処理の過程で、統合バッファ14に対してデータの書き込みおよび読み出しがなされる。
【0053】
ステップS46では、パケット長、転送レート等から計算された送出スケジュールにしたがって統合バッファ14からパケットが読み出され、ネットワークコントローラ4に対して読み出されたパケットが供給される。ステップS48において、ネットワークコントローラ4がパケットをネットワークに送出できる形態に変換し、ステップS49において、送出可能な時にパケットを送出する。ホストインターフェース回路5は、これらの一連の動作状態を監視し、必要があれば、ホストCPUから制御を行う。
【0054】
第3の実施形態では、RTPバッファとTSバッファとを統合したバッファ14を設けるので、別々にバッファを設けるのと比較して、メモリの周辺回路(アドレスデコーダ、メモリコントローラ、アービトレーション、BIST(Burst−in self−test:自己テスト等)が削減でき、チップサイズの縮小化と、消費電力の削減が可能となる。
【0055】
次に、この発明の第4の実施形態について説明する。第4の実施形態は、前段に接続されるMPEGエンコーダからのデータレートとトラフィックシェーパにおけるシェイピングのレートとが一致してないために、トラフィックシェーパのバッファにおいて、オーバーフローが生じることを防止するものである。図14を参照して第4の実施形態が適用可能な従来の送信装置について説明する。
【0056】
図14において、参照符号21がMPEGエンコーダを示す。MPEGエンコーダ21の出力例えばTSパケットが通信装置26に供給される。通信装置26は、通信プロトコル処理部22、シェイピングブロック23、物理層処理ブロック24およびパケットバッファ25から構成されている。通信装置26は、前述した第1、第2および第3の実施形態と同様に、MPEGエンコーダ21からのAVデータをネットワーク29に対して送出する場合に、MPEGエンコーダ21から不均等の間隔例えばバースト的に発生したパケットを等間隔で送出する機能を有する。
【0057】
通信プロトコル処理ブロック22は、RTP、UDP等のプロトコルに適合したパケット構成とするためのブロックである。シェイピングブロック23は、通信プロトコル処理ブロック22からのパケットを一旦パケットバッファ25に蓄積し、必要な送出レートに応じてパケットをバッファ25から読み出し、読み出したパケットを物理層処理ブロック24に供給する。物理層処理ブロック24は、イーサネット、ワイヤレスLAN等のネットワーク29の伝送に適した構成の送出データを形成するためのブロックである。
【0058】
図15は、上述した通信装置26の処理を概略的に示すものである。MPEGエンコーダ21のエンコーダレートでもって、通信装置26に対してデータが入力される。例えばP1,P2,P3と示すパケットがバースト的にMPEGエンコーダ21から通信装置26に入力される。入力データが一時的にパケットバッファ25に蓄積され、設定した送出レートでもって等間隔でP1,P2,P3と1パケットづつが出力される。図15では、ヘッダについては、省略されている。図15に示すように、MPEGエンコーダ21の出力の1パケット当りのレートと、通信装置26の1パケットを送出するレートとが完全に一致している、理想的な場合では、パケットバッファ25がオーバーフローまたはアンダーフローすることがない。
【0059】
図16は、MPEGエンコーダ21からのデータのレートが通信装置26で設定される送出レートに比して高い場合を示している。分かり易い例として、MPEGエンコーダ21からのデータのレートが送出レートの2倍近いものを示している。この場合では、パケットバッファ25に対して未送出のパケットが次第にたまり、パケットバッファ25がオーバーフローを起こす。その結果、パケットが破棄される。図16において、パケットP8の後にパケットP9,P10,P11がバースト的に出力されているが、この動作は、後述するこの発明の第4の実施形態によってなされるものである。図示しないが、MPEGエンコーダ21の出力データのレートが通信装置26で設定される送出レートに比して低い場合では、アンダーフローを生じる。
【0060】
この発明の第4の実施形態は、このようなMPEGエンコーダの出力のデータレートとシェイピングしたデータの送出レートとの不整合の問題を解決するものである。図17が第4の実施形態の構成を示す。図17において破線が囲んで示す部分が従来の構成と異なる構成を表している。すなわち、参照符号26aで示す通信装置は、パケットバッファ25に蓄えられたデータ量が上側しきい値THuを超えたかどうかを監視するTHu監視部27aと下側しきい値THlより減少したかを監視するTHl監視部27bとを備えている。これらの監視部27a,27bのバッファ情報がシェイピングブロック23aに供給される。一例として、パケットバッファ25は、FIFOの構成とされている。
【0061】
シェイピングブロック23aは、監視部27a,27bからのバッファ情報に応答してパケットバッファ25がオーバーフローまたはアンダーフローしないように、パケットデータを送出するフロー制御機能を有する。また、パケットバッファ25の状態が図示しないホストインターフェースを通じてホストCPU28に通知され、ホストCPU28がMPEGエンコーダ21を制御し、エンコーダ21から出力されるデータのレートが制御される。なお、ホストCPU28自身がソフトウェア処理によってMPEGの符号化処理を行うことも可能である。また、ホストCPU28と通信装置26aの間は、双方向の通信が可能とされ、ホストCPU28によってシェイピングブロック23aのパケット送出間隔が制御可能とされている。
【0062】
図18は、第4の実施形態を概略的に示す。通信プロトコル処理ブロック22からのパケットがパケットバッファ25に対して入力される。例えばパケットバッファ25は、最大10個のパケットを蓄えることができる。シェイピングブロック23aが備えるインターバルカウンタ23bにしたがって、均等な間隔でパケットがパケットバッファ25から物理層処理ブロック24に対して出力される。
【0063】
上側しきい値THuは、パケット数の7に設定され、下側しきい値THlは、パケット数の3に設定される。THu監視部27aは、パケットバッファ25に蓄積され、出力待ちの状態のパケット数が7以上で上側しきい値THuを超えたものと判定する。THl監視部27bは、パケットバッファ25に蓄積され、出力待ちの状態のパケット数が3以下で下側しきい値THlを超えたものと判定する。
【0064】
図19は、第4の実施形態の処理の流れを示すフローチャートである。ステップS51でシェイピングブロック23aに対して1パケットが入力される。以下に述べるシェイピングブロック23aの処理は、1パケットが入力される毎になされる。ステップS52において、インターバルカウンタ23bで制御される間隔で、パケットがパケットバッファ25から読み出され、シェイピングブロック23aを介して物理層処理部24に出力される。ステップS53において、THl監視部27bからのバッファ情報に基づいて、パケットバッファ25に蓄えられ、出力待ちのパケット数がTHu(例えばTHu=7)以上かどうかが判定される。
【0065】
ステップS53において、出力待ちのパケット数がTHu以上でないと判定されると、ステップS52のパケットの送出に処理が戻る。出力待ちのパケット数がTHu以上と判定されると、ステップS54に処理が移る。ステップS54では、パケットバッファ25から強制的にパケットの送出が開始される。これと共に、パケット数がTHu以上であると判定されると、ステップS56において、ホストCPU28に対して割り込み通知が与えられる。ホストCPU28の処理S61については後述する。
【0066】
ステップS54において強制的に1パケットが送出されると、ステップS55において、THl監視部27bからのバッファ情報に基づいて、出力待ちのパケット数がTHl(例えばTHl=3)以上かどうかが判定される。出力待ちのパケット数がTHl以上であれば、処理がステップS54に戻り、次のパケットが強制的に送出される。このように、送出待ちのパケットの強制的な送出は、ステップS55において、出力待ちのパケット数がTHlより少ないと判定され、処理がステップS52(シェイピングによる送出)に戻るまで、継続的になされる。
【0067】
図16の例では、パケットP8の送出が終了した時点で、パケットバッファ25の送出待ちのパケット数が7となるので、パケットP9,P10,P11と強制的な送出がなされる。強制的な送出は、送出待ちのパケット数が2以下となるまで継続的にされる。このように、MPEGエンコーダ21のレートがシェイピングブロック23aの出力データのレートより高い場合に出力待ちのパケットが強制的に送出されるので、パケットバッファ25がオーバーフローし、パケットが破棄されることを防止できる。
【0068】
さらに、頻繁にパケットの強制的な送出がなされると、受信側のバッファがオーバーフローするおそれがあるので、その場合には、ホストCPU28が出力データのレートを下げるように、MPEGエンコーダ21を制御する。ステップS53において、出力待ちのパケット数がしきい値THu以上であると判定されると、ホストCPU28に対して割り込み通知が与えられ(ステップS56)、ホストCPU28が処理S61を行う。
【0069】
最初に、ステップS62において、エンコードレートを下げる。次に、インターフェースを通じて受け取ったTHu監視部27aのバッファ情報に基づいてステップS63において、出力待ちのパケット数がTHuを頻繁に超えているかどうかが判定される。THuを頻繁に超えていると判定されると、ステップS62に戻り、エンコードレートが下げられ、再びステップS63の判定がなされる。頻繁かどうかは、予め設定されたしきい値に基づいて判定される。例えば所定時間当りで、THu以上となる回数がしきい値と比較され、比較結果に基づいて頻繁かどうかが判定される。
【0070】
ステップS63において、THuを頻繁に超えていないと判定されると、ステップS64において、出力待ちのパケット数がTHuを超えているかどうかが判定される。出力待ちのパケット数がTHuを超えていなければ、調整が終了する(ステップS65)。ステップS64において、出力待ちのパケット数がTHuを超えていると判定されると、ステップS66において、シェイピングブロック23aのシェイピングレートが高くされる。シェイピングレートが高くされると、シェイピングブロック23aから送出されるパケットの間隔が短くなる。そして、ステップS63に戻り、出力待ちのパケット数がTHuを超えているかどうかが判定される。
【0071】
上述した第4の実施形態によれば、MPEGエンコーダからの入力レートとシェイピングブロックの送出レートとのずれによってバッファがオーバーフローしそうになると、パケットを強制的に送出することによって、バッファのオーバーフローを防止することができる。さらに、バッファがオーバーフローするおそれがあることをホストCPUに通知して、ホストCPUによってエンコードレートおよびシェイピングレートを調整するので、これらのレートを最適な値に制御することができる。
【0072】
次に、この発明の第5の実施形態について説明する。図20を参照してこの発明を適用できる通信システムの一例および他の例について説明する。図20Aは、送信側システム41とブリッジ43とがワイヤレスLAN42を介して接続され、ブリッジ43と受信側システム45とがイーサネット44を介して接続されたシステムの例である。送信側システム41は、例えばAVデータをパケット化し、ワイヤレスLAN42を介してブリッジ43へ送信する。ブリッジ43は、受信したパケットをイーサネット44を介して受信側システム45へ送信する。受信側システム45では、受信したパケットからAVデータを取り出して映像や音声として利用する。
【0073】
図20Bは、送信側システム41とブリッジ43とがイーサネット46を介して接続され、ブリッジ43と受信側システム45とがワイヤレスLAN47を介して接続されたシステムの例である。イーサネットとワイヤレスLANの位置が図20Aと逆になっているだけで、通信の手順は、図20Aの構成と同様である。
【0074】
ブリッジ43は、二つのネットワークを接続する装置である。ブリッジ43は、ネットワーク上のパケットに含まれるディスティネーションアドレスを読み取り、ブリッジが保存しているアドレス一覧と比較する。宛先がブリッジの外側であれば、データパケットを送出し、内側のネットワーク(LAN)上にあれば、無視する。このように、パケットのルーティングを行う。ブリッジは、ルータと異なり、ネットワークの設定を変更する必要がない。
【0075】
具体的には、送信側システム41がインターネットを介して受け取り、家庭内のLANにパケットを送信するシステムである。受信側システム45がコンピュータ機能を有するテレビジョン受像機である。ワイヤレスLAN47を使用する場合では、持ち運びできるテレビジョン受像機を受信側システム45として使用できる。なお、ネットワークとしては、ワイヤレスLANとイーサネットとが混在するものに限らず、一方のみで構成されるものであっても良い。
【0076】
従来の通信システムでは、ブリッジ43が入力されたパケットをそのままイーサネット44またはワイヤレスLAN47に送出している。受信側システム45の備えている受信バッファとして小容量のものを使用するためには、図21Aに示すように、パケットが等間隔にブリッジ43から送出されることが望ましい。各パケットの先頭には、通常ヘッダが付加されている。
【0077】
図21Bに示すように、パケットがバースト的に送出されたり、またはバラバラの間隔で送出されると、受信バッファにオーバーフローが発生し、あふれたパケットが破棄されてしまう。パケットがバースト状になる原因としては、映像や音声をネットワーク上に伝送できるようにディジタル化し、連続したストリームデータに変換するエンコーダの仕様、ネットワーク上の他のパケットの影響等がある。
【0078】
図22は、受信バッファのあふれを模式的に説明するものである。受信側システム45が備えている受信バッファ例えばFIFOを参照符号45aで示し、受信バッファ45aの容量を5パケットと仮定している。受信バッファ45aからのパケットの出力は、設定された一定の間隔とされている。
【0079】
図22Aに示すように、空の受信バッファ45aにバースト状に9個のパケットが入力される。図22B、図22Cに示すように、4個のパケットが受信バッファ45aに対して順に格納される。次に、図22Dに示すように、5個のパケットが受信バッファ45aに格納されて、受信バッファ45aが満杯となる。しかしながら、受信バッファ45aから最初に格納されたパケットの読み出しが起こるので、あふれることはない。図22Eに示すように、6番目のパケットが受信バッファ45aに格納される場合も、2番目に格納されたパケットが受信バッファ45aから出力されるので、受信バッファ45aがあふれることはない。この状態でさらにパケットが到着すると、図22Fに示すように、受信バッファ45aがあふれ、パケットが破棄されてしまう。
【0080】
AVデータの場合では、パケットが欠落すると、映像や音声が途切れることになる。AVデータは、時間情報を有したり、リアルタイム性を有するので、リトライ等の再送を行うことができず、映像や音声の品質が低下する問題が生じる。受信側システム45の受信バッファ45aの容量を大きくすることによって問題を生じないようにできるが、受信側システムのコストの増加を招く問題がある。受信バッファの容量は、受信側システムの機器、経路の途中に介在するスイッチやルータ等によって最適な容量が存在し、一律に容量を決めることができない問題がある。また、一定時間内に流れるパケット数、すなわち、単位時間当りのデータ量を減少させる方法が考えられる。しかしながら、この方法は、画質や、音質を低下させることを意味しており、高品位のAVデータを伝送する上では、好ましい方法ではない。
【0081】
この発明の第5の実施形態では、ブリッジ43がトラフィックシェイピング機能を持つようにしたものである。図23は、トラフィックシェイピングの機能を説明するものである。バースト状または不均等な間隔でパケットが入力された場合でも、トラフィックシェイピングの機能によって、ブリッジが均等な間隔でパケットを出力する。その結果、受信側システム45が備える受信バッファが小さな容量であっても、受信バッファのあふれを防止できる。
【0082】
図24は、図20Aに示す通信システムのブリッジ43に対して適用されるこの発明の第5の実施形態を示す。第5の実施形態は、ワイヤレスLANと接続されるインターフェースと、イーサネットと接続されるインターフェースとを備えている。
【0083】
図24において、参照符号51がワイヤレスRF部を示す。ワイヤレスRF部51には、アンテナと接続されたRF回路と、OFDM(Orthogonal FrequencyDivision Multiplex) 等の変調回路とが含まれる。ワイヤレスRF部51に対してMAC(Media Access Control)処理を行うワイヤレスMAC部52が接続される。ワイヤレスMAC部52は、どのような方法でデータをワイヤレスLANに送出するか等の制御を行う。参照符号53は、イーサネット物理層処理ブロックを示す。イーサネット物理層処理ブロック53に対してイーサネットMAC部54が接続される。イーサネットMAC部54は、どのような方法でデータをLANケーブルに送出するか等の制御を行う。
【0084】
ワイヤレスMAC部52の出力(端子またはポート)とイーサネットMAC部54の出力の一方がセレクタ55に接続される。セレクタ55は、二つの出力の一方を選択的にアドレス変換部56の入力に接続する。アドレス変換部56は、ワイヤレスLANを経由したパケットをイーサネットに送出する場合、またはその逆にイーサネットを経由したパケットをワイヤレスLANに送出する場合にアドレスの変換を行う機能を有する。
【0085】
アドレス変換部56でアドレスが付け替えられたパケットがトラフィックシェーパ57に供給される。トラフィックシェーパ57は、図23を参照して説明したように、バースト状または不均等の間隔で入力されたパケットを等間隔で出力する機能を有している。トラフィックシェーパ57の出力がセレクタ58に入力される。
【0086】
セレクタ58は、ワイヤレスMAC部52とイーサネットMAC部54との一方の入力(端子またはポート)に接続されている。トラフィックシェーパ57から送出されたパケットがセレクタ58によってワイヤレスMAC部52とイーサネットMAC部54との一方の入力に出力される。図24において、破線が囲んで示すセレクタ55、アドレス変換部56、トラフィックシェーパ57およびセレクタ58は、1チップのLSIとして実現されている。
【0087】
セレクタ58は、セレクタ55が選択する側と異なる側を選択する。例えばセレクタ55がワイヤレスMAC部52の出力を選択する時には、セレクタ58がイーサネットMAC部54の入力を選択する。この場合では、ワイヤレスLANを介して受信されたパケットがアドレス変換およびトラフィックシェイピングの処理を受けてイーサネットに出力される。セレクタ55および58が逆の状態とされる場合には、イーサネットを介して受信されたパケットがアドレス変換およびトラフィックシェイピングの処理を受けてワイヤレスLANに出力される。一例として、パケットのヘッダに含まれているディストネーションアドレス、ソースアドレス、送信機アドレス、受信機アドレス等に基づいてセレクタ55および58が制御される。
【0088】
上述したこの発明の第5の実施形態は、ブリッジがトラフィックシェイピングの機能を持つので、下記のような利点を有する。
【0089】
第1に、送信側システムから入ってきたパケットを均等な間隔で受信側システムに対して送出できるので、受信側システムのバッファの容量が少ない場合でも、パケットの欠落を防ぐことができ、高品位なデータ伝送ができる。
【0090】
第2に、トラフィックシェーパの機能をハードウエアで実現するため、ブリッジを制御するCPUに対して負担がかからない。したがって、非力なCPUによってブリッジを実現できる。また、ソフトウェアでトラフィックシェーパの機能を実現するのと比較して高スループットが実現できる。
【0091】
第3に、ブリッジ内にトラフィックシェーパの機能を搭載することによって、送信側システムにトラフィックシェーパの機能を備える必要がない。したがって、送信側および受信側にどのような機器でも接続することができ、汎用性を持つことができる。
【0092】
第4に、ネットワークの設定を変更する必要がないブリッジにおいてトラフィックシェーパの機能を実現しているので、ネットワークの上位層に負担をかけない利点がある。
【0093】
この発明は、上述したこの発明の一実施形態等に限定されるものでは無く、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。例えば上述した実施形態では、MPEGを例に説明したが、MPEG以外のAVデータの符号化方式に対してもこの発明を適用することができる。また、FIFO以外のメモリを利用してバッファメモリを構成するようにしても良い。
【0094】
【発明の効果】
以上の説明から明らかなように、この発明の第1の実施形態では、トラフィックシェーパがバッファの状況を示すバッファ情報を出力する機能を有し、バッファ情報が前段のプロトコル処理回路にフィードバックされ、バッファがあふれそうまたは満杯であるという情報を前段のプロトコル処理が知ることを可能とし、それによってパケット化を遅らせたり、止めたりして、トラフィックシェーパに対する入力を制御している。それによって、パケットのロスが生じたり、他の全ての送信フローまで止めてしまう問題を回避することができる。
【0095】
この発明の第2の実施形態では、前段のプロトコル処理回路のバッファの容量を大きくし、バッファがトラフィックシェーパのバッファを兼ねるようにしているので、別々にバッファを設けるのと比較してメモリの有効利用、メモリの周辺回路の簡略化が可能となる。
【0096】
この発明の第3の実施形態では、前段のプロトコル処理回路のバッファと、トラフィックシェーパのバッファとを統合したバッファを設けるので、別々にバッファを設けるのと比較して、メモリの周辺回路(アドレスデコーダ、メモリコントローラ、アービトレーション、BIST等が削減でき、チップサイズの縮小化と、消費電力の削減が可能となる。
【0097】
この発明の第4の実施形態によれば、MPEGエンコーダからの入力レートとシェイピングブロックの送出レートとのずれによってバッファがオーバーフローしそうになると、パケットを強制的に送出することによって、バッファのオーバーフローを防止することができる。さらに、バッファがオーバーフローするおそれがあることをホストCPUに通知して、ホストCPUによってエンコードレートおよびシェイピングレートを調整するので、これらのレートを最適な値に制御することができる。
【0098】
この発明の第5の実施形態は、ブリッジがトラフィックシェイピングの機能を持つので、第1に、送信側システムから入ってきたパケットを均等な間隔で受信側システムに対して送出できるので、受信側システムのバッファの容量が少ない場合でも、パケットの欠落を防ぐことができ、高品位なデータ伝送ができる。
【0099】
第2に、トラフィックシェーパの機能をハードウエアで実現するため、ブリッジを制御するCPUに対して負担がかからない。したがって、非力なCPUによってブリッジを実現できる。また、ソフトウェアでトラフィックシェーパの機能を実現するのと比較して高スループットが実現できる。
【0100】
第3に、ブリッジ内にトラフィックシェーパの機能を搭載することによって、送信側システムにトラフィックシェーパの機能を備える必要がない。したがって、送信側および受信側にどのような機器でも接続することができ、汎用性を持つことができる。
【0101】
第4に、ネットワークの設定を変更する必要がないブリッジにおいてトラフィックシェーパの機能を実現しているので、ネットワークの上位層に負担をかけない利点がある。
【図面の簡単な説明】
【図1】この発明の第1の実施形態の構成を示すブロック図である。
【図2】パケット化の処理を説明するための略線図である。
【図3】RTPヘッダの一例のデータ構成を示す略線図である。
【図4】UDPヘッダの一例のデータ構成を示す略線図である。
【図5】IPヘッダの一例のデータ構成を示す略線図である。
【図6】DIXヘッダの一例のデータ構成を示す略線図である。
【図7】タグ付きDIXヘッダの一例のデータ構成を示す略線図である。
【図8】従来の処理の流れを示すフローチャートである。
【図9】この発明の第1の実施形態の処理の流れを示すフローチャートである。
【図10】この発明の第2の実施形態の構成を示すブロック図である。
【図11】この発明の第2の実施形態の処理の流れを示すフローチャートである。
【図12】この発明の第3の実施形態の構成を示すブロック図である。
【図13】この発明の第3の実施形態の処理の流れを示すフローチャートである。
【図14】従来の通信装置の構成を示すブロック図である。
【図15】トラフィックシェイピングの機能を説明するための略線図である。
【図16】バッファのオーバーフローを説明するための略線図である。
【図17】この発明の第4の実施形態の構成を示すブロック図である。
【図18】この発明の第4の実施形態を説明するための略線図である。
【図19】この発明の第4の実施形態の処理の流れを示すフローチャートである。
【図20】この発明を適用できる通信システムの一例および他の例を示すブロック図である。
【図21】入力パケットの到着時間の一例および他の例を示す略線図である。
【図22】バッファのあふれを説明するための略線図である。
【図23】トラフィックシェーパの機能を説明するための略線図である。
【図24】この発明の第5の実施形態の構成を示すブロック図である。
【符号の説明】
1・・・RTP回路、2・・・プロトコルスタックおよびルータ、3,3a・・・トラフィックシェーパ、4・・・ネットワークコントローラ、5・・・ホストインターフェース、11,11a・・・RTPバッファ、13・・・TSバッファ、14・・・統合バッファ、21・・・MPEGエンコーダ、23,23a・・・シェイピングブロック、23b・・・インターバルカウンタ、25・・・パケットバッファ、26,26a・・・通信装置、27a・・・THu監視部、27b・・・THl監視部、28・・・ホストCPU、41・・・送信側システム、43・・・ブリッジ、45・・・受信側システム、45a・・・受信バッファ、55,58・・・セレクタ、56・・・アドレス変換部、57・・・トラフィックシェーパ
【発明の属する技術分野】
この発明は、例えばAV(Audio Visual)データ等のリアルタイムデータをネットワークに送出する場合に、均等且つ適切な間隔で順番にパケットを送出する機能を有する通信装置および通信方法に関する。
【0002】
【従来の技術】
インターネットを介してAVストリームデータを家庭に配信し、家庭において、受け取ったAVストリームデータを家庭内のLAN(Local Area Network) を通じて端末装置に送信し、端末装置によってストリーミング再生するようなシステムが考えられている。LANとしては、IEEE(Institute of Electrical and Electronics Engineers)802.11a,IEEE802.11b等のワイヤレスLAN、イーサネット(登録商標)等が使用されている。また、AVストリームデータの送受信するためにRTP(Real−Time Transport Protocol:リアルタイム転送プロトコル)というプロトコルが利用される。
【0003】
AVストリームデータを送受信する場合、パケット間隔が一定ではなく、バースト状になったり、バラバラの間隔になったりすることがある。このような状況では、受信端末側に設けられている受信バッファがオーバーフローまたはアンダーフローすることがあり、オーバーフローの結果、パケットの欠落が発生し、アンダーフローの結果、AVデータの復号時に期限切れとなってAVデータが捨てられる。結果的に映像や音声が途切れ、高品位なAVストリームデータを伝送することができない問題が生じる。受信側に充分大きな容量の受信バッファを備えれば、オーバーフローまたはアンダーフローのおそれを少なくできるが、受信側装置の価格が高くなる問題が生じる。
【0004】
このような問題が発生しないように、例えば送信側にトラフィックシェーパが設けられる。トラフィックシェーパは、送出されるパケットがバースト状に転送されたり、不均一な間隔でパケットが送出されるのを防ぐために、均等な間隔でパケットを送出する機能を有する。従来では、MPEGエンコーダが圧縮した画像データをイーサネットに送出する場合に、ネットワーク上でパケットの衝突や消失が生じることによって、クライアント側での再生画像が乱れることを防止するための方法が下記の特許文献1に記載されている。
【0005】
【特許文献1】
特開2001−86499号公報
【0006】
この特許文献1では、MPEG圧縮回路のFIFO(First−In First−Out)メモリと、DRAM上に確保したメモリ領域と、イーサネット回路のメモリの内で、DRAM上に確保したメモリ領域と、イーサネット回路のメモリの使用量を減らし、全体のメモリ使用量をできるだけMPEG圧縮回路のFIFOメモリに集約させ、FIFOメモリの使用状況に応じてネットワークに送出するデータ量を調節することが開示されている。
【0007】
【発明が解決しようとする課題】
上述した特許文献1に記載のものは、MPEG圧縮回路のFIFOメモリの使用状況を調べるもので、MPEG圧縮回路からのストリームデータを受け取って、送出されるパケットがバースト状に転送されたり、不均一な間隔でパケットが送出されるのを防ぐトラフィックシェーパの機能と異なるものである。トラフィックシェーパでは、ネットワークにおいて一時的にトラフィックが増大することによって送出できないパケットがトラフィックシェーパのバッファに蓄積され、バッファが一杯となる。この状態でさらにトラフィックシェーパにパケットが入力されると、バッファからデータがあふれ、パケットの消失や、バックプレッシャーによって他の送信フローまで止めてしまう問題があった。これらの問題を回避しようとすると、トラフィックシェーパに必要以上に大きなバッファを用意することになり、ハードウエアの回路規模の増大、消費電力の増大、コストの増加が生じる。
【0008】
さらに、MPEGエンコーダからトラフィックシェーパに対して送出されるデータレートとトラフィックシェーパから送出されるデータレートとが完全に一致していることがトラフィックシェーパの機能を発揮する前提である。若し、この前提がくずれると、トラフィックシェーパのバッファにおいてオーバーフローが生じる。
【0009】
したがって、この発明の目的は、必要以上に大きな容量のバッファメモリを必要としないで、トラフィックシェーパの機能を発揮できる通信装置および通信方法を提供することにある。
【0010】
また、この発明の他の目的は、エンコーダからの入力データレートと送出データレートのずれによってオーバーフローが発生することを防止できる通信装置および通信方法を提供することにある。
【0011】
【課題を解決するための手段】
上述した課題を解決するために、請求項1の発明は、エンコーダから供給された符号化データをパケット化してネットワークへ送出する通信装置において、
符号化データを第1の記憶手段へ蓄積させた上で、蓄積された符号化データをネットワークのプロトコルにしたがってパケット化するネットワークプロトコル処理部と、
ネットワークプロトコル処理部のパケット化により生成されたパケットデータを第2の記憶手段に蓄積させ、蓄積されたパケットデータを等間隔で出力するトラフィックシェイピング部と、
トラフィックシェイピング部から出力されたデータをネットワークに対して送出するパケット送出部と、
トラフィックシェイピング部から第2の記憶手段の使用量を示すバッファ情報を受領することにより、使用量が所定値を超えたものと判断された場合には、ネットワークプロトコル処理部に対してパケットデータの出力を抑制させる制御部とを備えたことを特徴とする通信装置である。
【0012】
請求項3の発明は、エンコーダから供給された符号化データをパケット化してネットワークへ送出する通信装置において、
符号化データをネットワークのプロトコルにしたがってパケット化し、記憶手段へ格納するネットワークプロトコル処理部と、
ネットワークプロトコル処理部に対して、記憶手段へ格納されたデータを等間隔で出力させるトラフィックシェイピング部と、
ネットワークプロトコル処理部から出力されたデータをネットワークへ送出する送出部とを備えたことを特徴とする通信装置である。
【0013】
請求項4の発明は、エンコーダから供給された符号化データをパケット化してネットワークへ送出する通信装置において、
符号化データをネットワークのプロトコルにしたがってパケット化するネットワークプロトコル処理部と、
ネットワークプロトコル処理部のパケット化により生成されたパケットデータを等間隔で出力するトラフィックシェイピング部と、
トラフィックシェイピング部から出力されたパケットデータをネットワークに対して送出する送出部と、
ネットワークプロトコル処理部とトラフィックシェイピング部との間で共有され、ネットワークプロトコル処理部によりパケット化されたデータを格納すると共に、トラフィックシェイピング部からの要求に応じて格納されているパケットデータをトラフィックシェイピング部へ供給する記憶手段とを備えたことを特徴とする通信装置である。
【0014】
請求項5の発明は、エンコーダから供給された符号化データをパケット化するステップと、ステップにおけるパケット化により生成されたパケットデータを記憶手段に保存し、保存されたパケットデータを等間隔でネットワークへ送出するステップとを有する通信方法において、
記憶手段に保存されたパケットデータの量に応じて、パケットデータの記憶手段への供給量を制限するステップを有することを特徴とする通信方法である。
【0015】
請求項6の発明は、エンコーダから供給された符号化データをパケット化してネットワークへ送出する通信装置において、
符号化データをネットワークのプロトコルにしたがってパケット化するネットワークプロトコル処理部と、
ネットワークプロトコル処理部のパケット化により生成されたパケットデータを記憶する記憶手段と、
記憶手段に記憶されたパケットデータを等間隔で出力するトラフィックシェイピング部と、
記憶手段に記憶されているパケットデータのデータ量が所定値を超えたか否かを監視して、データ量が所定値を超えた場合にはトラフィックシェイピング部に対して記憶手段に記憶されているパケットデータを強制的に出力させる監視部と、
トラフィックシェイピング部から出力されたパケットデータをネットワークに対して送出する送出部とを備えたことを特徴とする通信装置である。
【0016】
請求項8の発明は、二つのネットワーク間に配置され、いずれか一方のネットワークを介して受信したパケットデータを他方のネットワークに送出する通信装置において、
一方のネットワークを介して受信したパケットデータを記憶手段に記憶させ、記憶されたパケットデータを等間隔で他方のネットワークへ送出するトラフィックシェイピング部を備えたことを特徴とする通信装置である。
【0017】
請求項9の発明は、二つのネットワーク間において、いずれか一方のネットワークを介して受信されたパケットデータを他方のネットワークに送出する通信方法であって、
一方のネットワークを介して受信したパケットデータ保存し、保存されたパケットデータを等間隔で他方のネットワークへ送出することを特徴とする通信方法である。
【0018】
この発明では、トラフィックシェーパがバッファの状況を示すバッファ情報を出力する機能を有し、バッファ情報が前段のプロトコル処理回路にフィードバックされ、バッファがあふれそうまたは満杯であるという情報を前段のプロトコル処理が知ることを可能とし、それによってパケット化を遅らせたり、止めたりして、トラフィックシェーパに対する入力を制御している。それによって、パケットのロスが生じたり、他の全ての送信フローまで止めてしまう問題を回避することができる。
【0019】
また、この発明では、前段のプロトコル処理回路のバッファの容量を大きくし、バッファがトラフィックシェーパのバッファを兼ねるようにしているので、別々にバッファを設けるのと比較してメモリの有効利用、メモリの周辺回路の簡略化が可能となる。
【0020】
また、この発明では、前段のプロトコル処理回路のバッファと、トラフィックシェーパのバッファとを統合したバッファを設けるので、別々にバッファを設けるのと比較して、メモリの周辺回路(アドレスデコーダ、メモリコントローラ、アービトレーション、BIST等が削減でき、チップサイズの縮小化と、消費電力の削減が可能となる。
【0021】
さらに、この発明によれば、MPEGエンコーダからの入力レートとシェイピングブロックの送出レートとのずれによってバッファがオーバーフローしそうになると、パケットを強制的に送出することによって、バッファのオーバーフローを防止することができる。さらに、バッファがオーバーフローするおそれがあることをホストCPUに通知して、ホストCPUによってエンコードレートおよびシェイピングレートを調整するので、これらのレートを最適な値に制御することができる。
【0022】
よりさらに、この発明は、ブリッジがトラフィックシェイピングの機能を持つので、第1に、送信側システムから入ってきたパケットを均等な間隔で受信側システムに対して送出できるので、受信側システムのバッファの容量が少ない場合でも、パケットの欠落を防ぐことができ、高品位なデータ伝送ができる。第2に、トラフィックシェーパの機能をハードウエアで実現するため、ブリッジを制御するCPUに対して負担がかからない。したがって、非力なCPUによってブリッジを実現できる。また、ソフトウェアでトラフィックシェーパの機能を実現するのと比較して高スループットが実現できる。第3に、ブリッジ内にトラフィックシェーパの機能を搭載することによって、送信側システムにトラフィックシェーパの機能を備える必要がない。したがって、送信側および受信側にどのような機器でも接続することができ、汎用性を持つことができる。第4に、ネットワークの設定を変更する必要がないブリッジにおいてトラフィックシェーパの機能を実現しているので、ネットワークの上位層に負担をかけない利点がある。
【0023】
【発明の実施の形態】
以下、この発明の第1の実施形態について説明する。図1は、第1の実施形態による通信装置の構成を示す。通信装置は、例えば1チップのLSI(Large Scale Integrated Circuit:大規模集積回路)として実現される。第1の実施形態では、MPEG2(Moving Picture Experts Group Phase 2)のTS(Transport Stream)パケットをRTP(Real−time Transport Protocol:リアルタイム転送プロトコル)を使用してLANに流すものである。参照符号1は、MPEG2エンコーダ(図示しない)から入力されたデータをRTPプロトコルにしたがってパケット化するRTP回路を示す。RTP回路1は、入力されたデータを蓄えるメモリを含むRTPバッファ11を備える。
【0024】
図2Aは、MPEG2エンコーダから入力されるTSパケットを示す。1パケットは、188バイトの長さである。なお、図2において、()内の数字は、バイト数を表している。RTP回路1は、RTPバッファ11を備え、図2Bに示すように、7個のTSパケットをまとめ、7個のTSパケット(1316バイト)に対してRTPヘッダ(20バイト)を付加する。図3は、RTPヘッダの構成を示す。RTPヘッダには、シーケンスナンバー、タイムスタンプ、SSRC、CSRC等が含まれている。
【0025】
参照符号2は、RTP回路1でパケット化されたデータをネットワークプロトコルUDP(User Datagram Protocol)でさらにパケット化するプロトコルスタックおよびルータ回路である。プロトコルスタックおよびルータ回路2のプロトコルスタック部では、図2Cに示すように、RTPヘッダの前にUDPヘッダ(8バイト)が付加される。図4は、UDPヘッダの構成を示す。UDPヘッダには、ソース(送信元)ポートナンバーおよびディスティネーション(宛先)ポートナンバー、UDPレングス、UDPチェックサムが含まれる。
【0026】
UDPヘッダが付加されると、次に、プロトコルスタック部では、図2Dに示すように、IPヘッダ(20バイト)が付加される。図5は、IPヘッダの構成を示す。IHLは、インターネットヘッダ長を示し、ここで指定された値を4倍したバイト長がIPヘッダ長となる。バージョンは、インターネットプロトコルのバージョンを示す。さらに、TOS(:サービスタイプ)、データを含めたIPパケットの全長を示すトータルレングス、ID、フラグ、フラグメントオフセットは、IPパケットを分割して送る場合に使用される。TTL(Time To Live)は、通信可能なルータの残り個数を示す。ルータをデータを仲介する度にこのを減らす。プロトコルタイプは、データ部に含む上位プロトコル等の種別を示す。さらに、IPヘッダが正しくやり取りされたか否かを検出するためのヘッダチェックサム、ソースアドレス、ディスティネーションアドレスがIPヘッダに含まれている。ソースアドレスは、送信元のIPアドレスである。ディスティネーションアドレスは、最終目的地の宛先IPアドレスである。
【0027】
次に、プロトコルスタック部では、図2Eに示すように、IPヘッダの前にDIXヘッダ(14バイト)が付加される。図6は、DIXヘッダの構成を示す。DIXヘッダには、ディスティネーションMAC(Media Access Control)アドレス、ソースMACアドレスおよびタイプが含まれる。
【0028】
次に、プロトコルスタックおよびルータ回路2のルータ部において、図2Fに示すように、DIXヘッダがタグ付きDIXヘッダ(18バイト)へ変更される。図7は、タグ付きDIXヘッダの構成を示す。DIXヘッダに対して、プロトコル、VLAN、TCIが付加されている。
【0029】
プロトコルスタックおよびルータ回路2からは、図2Fに示す構成のパケットが出力され、トラフィックシェーパ3に出力される。トラフィックシェーパ3は、パケット化されたデータをスケジューリングしてネットワークコントローラ4に対して出力する。トラフィックシェーパ3は、トラフィックシェーパバッファ(以下、適宜TSバッファと略す)13を有している。ネットワークコントローラ4は、トラフィックシェーパ3でスケジューリングされたパケットデータをネットワークに送出する。トラフィックシェーパ3では、パケットの内容が変更されない。ネットワークコントローラ4では、パケットの後に自動的にFCS(Frame Check Sequence)を追加する。
【0030】
図1において、参照符号5は、ホストインターフェース回路を示す。ホストインターフェース回路5を介してネットワーク通信装置がホストCPU(Central Processing Unit) と接続される。RTP回路1、プロトコルスタックおよびルータ2、トラフィックシェーパ3、ネットワークコントローラ4のそれぞれとホストインターフェース回路5とが接続され、ホストCPUが各回路の設定、インタラプト等を制御することが可能とされている。ホストインターフェース回路5には、ホストCPUが読み書きできるレジスタが備えられている。
【0031】
第1の実施形態では、参照符号6で示す信号路を介してトラフィックシェーパ3からTSバッファ13の使用状況の情報(TSバッファ情報信号と称する)がRTP回路1に対して知らされる。RTP回路1は、TSバッファ情報に基づいてRTP回路1からのパケット化出力のタイミングを遅らせたり、一時的に停止する。
【0032】
図8は、TSバッファ情報をRTP回路1に供給しない構成(すなわち、従来の構成)の処理の流れを示すフローチャートである。ステップS1において、AVデータ(TSパケット(図2A参照))が入力される。RTP回路1のRTPバッファ11に入力AVデータが蓄えられ、パケット化に必要な量例えば7個のTSパケットがRTPバッファ11に蓄積されると、RTP回路1によってパケット化され、RTPバッファ1からパケット化データ(図2B参照)が出力される(ステップS2)。
【0033】
ステップS3において、プロトコルスタックおよびルータ2において、図2C、図2D、図2E、図2Fを参照して説明したように、ネットワークプロトコルに合わせてさらにパケット化される。プロトコルスタックおよびルータ2からパケット化されたデータがトラフィックシェーパ3のTSバッファ13に蓄積される。
【0034】
ステップS6では、パケット長、転送レート等から計算された送出スケジュールにしたがってTSバッファ13からパケットが読み出され、ネットワークコントローラ4に対して読み出されたパケットが供給される。ステップS7において、ネットワークコントローラ4がパケットをネットワークに送出できる形態に変換し、ステップS8において、送出可能な時にパケットを送出する。ホストインターフェース回路5は、これらの一連の動作状態を監視し、必要があれば、ホストCPUから制御を行う。
【0035】
若し、ネットワークのトラフィックが増大してステップS8においてパケットを送出できないと、ステップS6においてTSバッファの読み出しができない。その状態が続くと、TSバッファ13があふれてしまう。ステップS3において、パケット化されたデータをTSバッファ13に蓄積する時に、ステップS4において、TSバッファが満杯かどうかが判定される。
【0036】
ステップS4において、TSバッファ13が満杯と判定されると、ステップS5において、到来したパケットの破棄またはバックプレッシャーの処理がなされる。バックプレッシャーは、トラフィックシェーパ3がパケットデータの受け取りを止めることである。データを破棄すれば、パケットのロスが生じ、バックプレッシャーは、他の全ての送信フローまで止めてしまう問題があった。
【0037】
図9は、図1に示すように、信号路6を備えた第1の実施形態の処理の流れを示す。ステップS11においてAVデータが入力され、ステップS12において、RTPバッファ11が満杯か否かが判定される。満杯でなければ、ステップS14のRTPバッファ11への入力に処理が移る。満杯であれば、ステップS13に処理が移り、AVデータの受付の拒否をホストCPUに対して通知する。
【0038】
RTPバッファ11が満杯でなければ、ステップS14において、AVデータがRTPバッファ11に入力される。ステップS15では、信号路6を介してトラフィックシェーパ3から送られてくるTSバッファ情報信号に基づいて、TSバッファ13が満杯か否かが判定される。TSバッファ情報信号は、満杯か否かに限らず、満杯になりそうなことを知らせるようにしても良い。
【0039】
TSバッファ13が満杯でないと判定されると、ステップS16において、RTPバッファ11からAVデータが出力され、RTPヘッダが付加される。若し、TSバッファ13が満杯であるとステップS15において判定されると、ステップS16(RTPバッファ11からの出力)へ処理が移らないで、TSバッファ13が満杯でないと判定されるまで待機する。
【0040】
ステップS16において、RTPバッファ11からAVデータが出力され、RTPヘッダが付加される。ステップS17において、プロトコルスタックおよびルータ2において、図2C、図2D、図2E、図2Fを参照して説明したように、ネットワークプロトコルに合わせてさらにパケット化される。プロトコルスタックおよびルータ2からパケット化されたデータがトラフィックシェーパ3のTSバッファ13に蓄積される。
【0041】
ステップS18では、パケット長、転送レート等から計算された送出スケジュールにしたがってTSバッファ13からパケットが読み出され、ネットワークコントローラ4に対して読み出されたパケットが供給される。ステップS19において、ネットワークコントローラ4がパケットをネットワークに送出できる形態に変換し、ステップS20において、送出可能な時にパケットを送出する。ホストインターフェース回路5は、これらの一連の動作状態を監視し、必要があれば、ホストCPUから制御を行う。
【0042】
上述したように、この発明の第1の実施形態では、トラフィックシェーパ3がTSバッファ13の状況を示すTSバッファ情報を出力する機能を有し、TSバッファ情報がRTP回路1にフィードバックされ、TSバッファ13があふれそうまたは満杯であるという情報をRTP回路1が知ることを可能とし、RTP回路1がパケット化を遅らせたり、止めたりして、トラフィックシェーパ3に対する入力を制御している。それによって、パケットのロスが生じたり、他の全ての送信フローまで止めてしまう問題を回避することができる。
【0043】
次に、この発明の第2の実施形態について、図10および図11を参照して説明する。第2の実施形態では、図10に示すように、RTPバッファ11aの容量を大きくし、TSバッファ3を無くしたものである。トラフィックシェーパ3aは、スケジュール管理のみを行い、パケットの送出指示をRTP回路1に伝える。送出指示を受け取ったRTP回路1は、RTPバッファ11aからパケットを読み出し、図2Aに示すように、RTPヘッダが付加され、RTPヘッダを有するパケットがプロトコルスタックおよびルータ2に供給される。トラフィックシェーパ3aは、パケット長、転送レート等から計算された送出スケジュールにしたがってRTPバッファ11aからデータを読み出すように、RTP回路1を制御する。
【0044】
RTPバッファ11aからの読み出しレートが書き込みレートより低いと、RTPバッファ11aがオーバーフローするおそれがある。RTP回路1は、RTPバッファ11aの中でTSバッファの機能を有する部分が満杯であることを検出して、その場合では、RTPバッファ11aに対するAVデータの書き込み一時的に停止する。
【0045】
図11は、第2の実施形態の処理の流れを示す。ステップS31においてAVデータが入力され、ステップS32において、RTPバッファ11aが満杯か否かが判定される。満杯でなければ、ステップS34のRTPバッファ11aへの入力に処理が移る。満杯であれば、ステップS33に処理が移り、AVデータの受付の拒否をホストCPUに対して通知する。
【0046】
RTPバッファ11aが満杯でなければ、ステップS34において、AVデータがRTPバッファ11aに入力される。ステップS36は、RTPバッファ11aからのAVデータの出力である。RTPバッファ11aからのAVデータの出力は、ステップS35において、トラフィックシェーパ3aが発生した送出指示に基づいてなされる。
【0047】
ステップS36において、RTPバッファ11aからAVデータが出力され、RTPヘッダが付加される。ステップS37において、プロトコルスタックおよびルータ2において、ネットワークプロトコルに合わせてさらにパケット化される。プロトコルスタックおよびルータ2からパケット化されたデータがネットワークコントローラ4に対して供給される。ステップS38において、ネットワークコントローラ4がパケットをネットワークに送出できる形態に変換し、ステップS39において、送出可能な時にパケットを送出する。ホストインターフェース回路5は、これらの一連の動作状態を監視し、必要があれば、ホストCPUから制御を行う。
【0048】
第2の実施形態では、RTPバッファ11aの容量を大きくし、RTPバッファ11aがTSバッファを兼ねるようにしているので、別々にバッファを設けるのと比較してメモリの有効利用、メモリの周辺回路の簡略化が可能となる。
【0049】
次に、この発明の第3の実施形態について図12および図13を参照して説明する。第3の実施形態では、図12に示すように、RTPバッファ、TSバッファをまとめた統合バッファ14を設ける。統合バッファ14からRTP回路1に対して統合バッファ14が満杯かどうかの情報が供給される。また、プロトコルスタックおよびルータ回路の機能をトラフィックシェーパ3bに統合する。トラフィックシェーパ3bがスケジュール管理と、統合バッファ14からのデータの読み出しとパケット化を行う。
【0050】
図13は、第3の実施形態の処理の流れを示す。ステップS41においてAVデータが入力され、ステップS42において、統合バッファ14が満杯か否かが判定される。満杯でなければ、ステップS44の統合バッファ14への入力に処理が移る。満杯であれば、ステップS43に処理が移り、AVデータの受付の拒否をホストCPUに対して通知する。
【0051】
統合バッファ14が満杯でなければ、ステップS44において、AVデータがRTP回路1から統合バッファ14へ入力される。統合バッファ14に所定数のTSパケットが蓄えられると、所定数のTSパケットが読み出され、RTP回路1においてRTPヘッダが付加され、RTPヘッダが付加されたデータが統合バッファ14に再び書き込まれる。
【0052】
ステップS45において、統合バッファ14からAVデータが読み出され、トラフィックシェーパ3bに供給される。トラフィックシェーパ3bでは、プロトコルスタックおよびルータが行うパケット化がなされる。すなわち、図2C、図2D、図2Eおよび図2Fを参照して説明したようなUDPヘッダの付加、IPヘッダの付加、DIXヘッダの付加、タグ付きDIXヘッダの生成の処理をトラフィックシェーパ3bが行う。これらの処理の過程で、統合バッファ14に対してデータの書き込みおよび読み出しがなされる。
【0053】
ステップS46では、パケット長、転送レート等から計算された送出スケジュールにしたがって統合バッファ14からパケットが読み出され、ネットワークコントローラ4に対して読み出されたパケットが供給される。ステップS48において、ネットワークコントローラ4がパケットをネットワークに送出できる形態に変換し、ステップS49において、送出可能な時にパケットを送出する。ホストインターフェース回路5は、これらの一連の動作状態を監視し、必要があれば、ホストCPUから制御を行う。
【0054】
第3の実施形態では、RTPバッファとTSバッファとを統合したバッファ14を設けるので、別々にバッファを設けるのと比較して、メモリの周辺回路(アドレスデコーダ、メモリコントローラ、アービトレーション、BIST(Burst−in self−test:自己テスト等)が削減でき、チップサイズの縮小化と、消費電力の削減が可能となる。
【0055】
次に、この発明の第4の実施形態について説明する。第4の実施形態は、前段に接続されるMPEGエンコーダからのデータレートとトラフィックシェーパにおけるシェイピングのレートとが一致してないために、トラフィックシェーパのバッファにおいて、オーバーフローが生じることを防止するものである。図14を参照して第4の実施形態が適用可能な従来の送信装置について説明する。
【0056】
図14において、参照符号21がMPEGエンコーダを示す。MPEGエンコーダ21の出力例えばTSパケットが通信装置26に供給される。通信装置26は、通信プロトコル処理部22、シェイピングブロック23、物理層処理ブロック24およびパケットバッファ25から構成されている。通信装置26は、前述した第1、第2および第3の実施形態と同様に、MPEGエンコーダ21からのAVデータをネットワーク29に対して送出する場合に、MPEGエンコーダ21から不均等の間隔例えばバースト的に発生したパケットを等間隔で送出する機能を有する。
【0057】
通信プロトコル処理ブロック22は、RTP、UDP等のプロトコルに適合したパケット構成とするためのブロックである。シェイピングブロック23は、通信プロトコル処理ブロック22からのパケットを一旦パケットバッファ25に蓄積し、必要な送出レートに応じてパケットをバッファ25から読み出し、読み出したパケットを物理層処理ブロック24に供給する。物理層処理ブロック24は、イーサネット、ワイヤレスLAN等のネットワーク29の伝送に適した構成の送出データを形成するためのブロックである。
【0058】
図15は、上述した通信装置26の処理を概略的に示すものである。MPEGエンコーダ21のエンコーダレートでもって、通信装置26に対してデータが入力される。例えばP1,P2,P3と示すパケットがバースト的にMPEGエンコーダ21から通信装置26に入力される。入力データが一時的にパケットバッファ25に蓄積され、設定した送出レートでもって等間隔でP1,P2,P3と1パケットづつが出力される。図15では、ヘッダについては、省略されている。図15に示すように、MPEGエンコーダ21の出力の1パケット当りのレートと、通信装置26の1パケットを送出するレートとが完全に一致している、理想的な場合では、パケットバッファ25がオーバーフローまたはアンダーフローすることがない。
【0059】
図16は、MPEGエンコーダ21からのデータのレートが通信装置26で設定される送出レートに比して高い場合を示している。分かり易い例として、MPEGエンコーダ21からのデータのレートが送出レートの2倍近いものを示している。この場合では、パケットバッファ25に対して未送出のパケットが次第にたまり、パケットバッファ25がオーバーフローを起こす。その結果、パケットが破棄される。図16において、パケットP8の後にパケットP9,P10,P11がバースト的に出力されているが、この動作は、後述するこの発明の第4の実施形態によってなされるものである。図示しないが、MPEGエンコーダ21の出力データのレートが通信装置26で設定される送出レートに比して低い場合では、アンダーフローを生じる。
【0060】
この発明の第4の実施形態は、このようなMPEGエンコーダの出力のデータレートとシェイピングしたデータの送出レートとの不整合の問題を解決するものである。図17が第4の実施形態の構成を示す。図17において破線が囲んで示す部分が従来の構成と異なる構成を表している。すなわち、参照符号26aで示す通信装置は、パケットバッファ25に蓄えられたデータ量が上側しきい値THuを超えたかどうかを監視するTHu監視部27aと下側しきい値THlより減少したかを監視するTHl監視部27bとを備えている。これらの監視部27a,27bのバッファ情報がシェイピングブロック23aに供給される。一例として、パケットバッファ25は、FIFOの構成とされている。
【0061】
シェイピングブロック23aは、監視部27a,27bからのバッファ情報に応答してパケットバッファ25がオーバーフローまたはアンダーフローしないように、パケットデータを送出するフロー制御機能を有する。また、パケットバッファ25の状態が図示しないホストインターフェースを通じてホストCPU28に通知され、ホストCPU28がMPEGエンコーダ21を制御し、エンコーダ21から出力されるデータのレートが制御される。なお、ホストCPU28自身がソフトウェア処理によってMPEGの符号化処理を行うことも可能である。また、ホストCPU28と通信装置26aの間は、双方向の通信が可能とされ、ホストCPU28によってシェイピングブロック23aのパケット送出間隔が制御可能とされている。
【0062】
図18は、第4の実施形態を概略的に示す。通信プロトコル処理ブロック22からのパケットがパケットバッファ25に対して入力される。例えばパケットバッファ25は、最大10個のパケットを蓄えることができる。シェイピングブロック23aが備えるインターバルカウンタ23bにしたがって、均等な間隔でパケットがパケットバッファ25から物理層処理ブロック24に対して出力される。
【0063】
上側しきい値THuは、パケット数の7に設定され、下側しきい値THlは、パケット数の3に設定される。THu監視部27aは、パケットバッファ25に蓄積され、出力待ちの状態のパケット数が7以上で上側しきい値THuを超えたものと判定する。THl監視部27bは、パケットバッファ25に蓄積され、出力待ちの状態のパケット数が3以下で下側しきい値THlを超えたものと判定する。
【0064】
図19は、第4の実施形態の処理の流れを示すフローチャートである。ステップS51でシェイピングブロック23aに対して1パケットが入力される。以下に述べるシェイピングブロック23aの処理は、1パケットが入力される毎になされる。ステップS52において、インターバルカウンタ23bで制御される間隔で、パケットがパケットバッファ25から読み出され、シェイピングブロック23aを介して物理層処理部24に出力される。ステップS53において、THl監視部27bからのバッファ情報に基づいて、パケットバッファ25に蓄えられ、出力待ちのパケット数がTHu(例えばTHu=7)以上かどうかが判定される。
【0065】
ステップS53において、出力待ちのパケット数がTHu以上でないと判定されると、ステップS52のパケットの送出に処理が戻る。出力待ちのパケット数がTHu以上と判定されると、ステップS54に処理が移る。ステップS54では、パケットバッファ25から強制的にパケットの送出が開始される。これと共に、パケット数がTHu以上であると判定されると、ステップS56において、ホストCPU28に対して割り込み通知が与えられる。ホストCPU28の処理S61については後述する。
【0066】
ステップS54において強制的に1パケットが送出されると、ステップS55において、THl監視部27bからのバッファ情報に基づいて、出力待ちのパケット数がTHl(例えばTHl=3)以上かどうかが判定される。出力待ちのパケット数がTHl以上であれば、処理がステップS54に戻り、次のパケットが強制的に送出される。このように、送出待ちのパケットの強制的な送出は、ステップS55において、出力待ちのパケット数がTHlより少ないと判定され、処理がステップS52(シェイピングによる送出)に戻るまで、継続的になされる。
【0067】
図16の例では、パケットP8の送出が終了した時点で、パケットバッファ25の送出待ちのパケット数が7となるので、パケットP9,P10,P11と強制的な送出がなされる。強制的な送出は、送出待ちのパケット数が2以下となるまで継続的にされる。このように、MPEGエンコーダ21のレートがシェイピングブロック23aの出力データのレートより高い場合に出力待ちのパケットが強制的に送出されるので、パケットバッファ25がオーバーフローし、パケットが破棄されることを防止できる。
【0068】
さらに、頻繁にパケットの強制的な送出がなされると、受信側のバッファがオーバーフローするおそれがあるので、その場合には、ホストCPU28が出力データのレートを下げるように、MPEGエンコーダ21を制御する。ステップS53において、出力待ちのパケット数がしきい値THu以上であると判定されると、ホストCPU28に対して割り込み通知が与えられ(ステップS56)、ホストCPU28が処理S61を行う。
【0069】
最初に、ステップS62において、エンコードレートを下げる。次に、インターフェースを通じて受け取ったTHu監視部27aのバッファ情報に基づいてステップS63において、出力待ちのパケット数がTHuを頻繁に超えているかどうかが判定される。THuを頻繁に超えていると判定されると、ステップS62に戻り、エンコードレートが下げられ、再びステップS63の判定がなされる。頻繁かどうかは、予め設定されたしきい値に基づいて判定される。例えば所定時間当りで、THu以上となる回数がしきい値と比較され、比較結果に基づいて頻繁かどうかが判定される。
【0070】
ステップS63において、THuを頻繁に超えていないと判定されると、ステップS64において、出力待ちのパケット数がTHuを超えているかどうかが判定される。出力待ちのパケット数がTHuを超えていなければ、調整が終了する(ステップS65)。ステップS64において、出力待ちのパケット数がTHuを超えていると判定されると、ステップS66において、シェイピングブロック23aのシェイピングレートが高くされる。シェイピングレートが高くされると、シェイピングブロック23aから送出されるパケットの間隔が短くなる。そして、ステップS63に戻り、出力待ちのパケット数がTHuを超えているかどうかが判定される。
【0071】
上述した第4の実施形態によれば、MPEGエンコーダからの入力レートとシェイピングブロックの送出レートとのずれによってバッファがオーバーフローしそうになると、パケットを強制的に送出することによって、バッファのオーバーフローを防止することができる。さらに、バッファがオーバーフローするおそれがあることをホストCPUに通知して、ホストCPUによってエンコードレートおよびシェイピングレートを調整するので、これらのレートを最適な値に制御することができる。
【0072】
次に、この発明の第5の実施形態について説明する。図20を参照してこの発明を適用できる通信システムの一例および他の例について説明する。図20Aは、送信側システム41とブリッジ43とがワイヤレスLAN42を介して接続され、ブリッジ43と受信側システム45とがイーサネット44を介して接続されたシステムの例である。送信側システム41は、例えばAVデータをパケット化し、ワイヤレスLAN42を介してブリッジ43へ送信する。ブリッジ43は、受信したパケットをイーサネット44を介して受信側システム45へ送信する。受信側システム45では、受信したパケットからAVデータを取り出して映像や音声として利用する。
【0073】
図20Bは、送信側システム41とブリッジ43とがイーサネット46を介して接続され、ブリッジ43と受信側システム45とがワイヤレスLAN47を介して接続されたシステムの例である。イーサネットとワイヤレスLANの位置が図20Aと逆になっているだけで、通信の手順は、図20Aの構成と同様である。
【0074】
ブリッジ43は、二つのネットワークを接続する装置である。ブリッジ43は、ネットワーク上のパケットに含まれるディスティネーションアドレスを読み取り、ブリッジが保存しているアドレス一覧と比較する。宛先がブリッジの外側であれば、データパケットを送出し、内側のネットワーク(LAN)上にあれば、無視する。このように、パケットのルーティングを行う。ブリッジは、ルータと異なり、ネットワークの設定を変更する必要がない。
【0075】
具体的には、送信側システム41がインターネットを介して受け取り、家庭内のLANにパケットを送信するシステムである。受信側システム45がコンピュータ機能を有するテレビジョン受像機である。ワイヤレスLAN47を使用する場合では、持ち運びできるテレビジョン受像機を受信側システム45として使用できる。なお、ネットワークとしては、ワイヤレスLANとイーサネットとが混在するものに限らず、一方のみで構成されるものであっても良い。
【0076】
従来の通信システムでは、ブリッジ43が入力されたパケットをそのままイーサネット44またはワイヤレスLAN47に送出している。受信側システム45の備えている受信バッファとして小容量のものを使用するためには、図21Aに示すように、パケットが等間隔にブリッジ43から送出されることが望ましい。各パケットの先頭には、通常ヘッダが付加されている。
【0077】
図21Bに示すように、パケットがバースト的に送出されたり、またはバラバラの間隔で送出されると、受信バッファにオーバーフローが発生し、あふれたパケットが破棄されてしまう。パケットがバースト状になる原因としては、映像や音声をネットワーク上に伝送できるようにディジタル化し、連続したストリームデータに変換するエンコーダの仕様、ネットワーク上の他のパケットの影響等がある。
【0078】
図22は、受信バッファのあふれを模式的に説明するものである。受信側システム45が備えている受信バッファ例えばFIFOを参照符号45aで示し、受信バッファ45aの容量を5パケットと仮定している。受信バッファ45aからのパケットの出力は、設定された一定の間隔とされている。
【0079】
図22Aに示すように、空の受信バッファ45aにバースト状に9個のパケットが入力される。図22B、図22Cに示すように、4個のパケットが受信バッファ45aに対して順に格納される。次に、図22Dに示すように、5個のパケットが受信バッファ45aに格納されて、受信バッファ45aが満杯となる。しかしながら、受信バッファ45aから最初に格納されたパケットの読み出しが起こるので、あふれることはない。図22Eに示すように、6番目のパケットが受信バッファ45aに格納される場合も、2番目に格納されたパケットが受信バッファ45aから出力されるので、受信バッファ45aがあふれることはない。この状態でさらにパケットが到着すると、図22Fに示すように、受信バッファ45aがあふれ、パケットが破棄されてしまう。
【0080】
AVデータの場合では、パケットが欠落すると、映像や音声が途切れることになる。AVデータは、時間情報を有したり、リアルタイム性を有するので、リトライ等の再送を行うことができず、映像や音声の品質が低下する問題が生じる。受信側システム45の受信バッファ45aの容量を大きくすることによって問題を生じないようにできるが、受信側システムのコストの増加を招く問題がある。受信バッファの容量は、受信側システムの機器、経路の途中に介在するスイッチやルータ等によって最適な容量が存在し、一律に容量を決めることができない問題がある。また、一定時間内に流れるパケット数、すなわち、単位時間当りのデータ量を減少させる方法が考えられる。しかしながら、この方法は、画質や、音質を低下させることを意味しており、高品位のAVデータを伝送する上では、好ましい方法ではない。
【0081】
この発明の第5の実施形態では、ブリッジ43がトラフィックシェイピング機能を持つようにしたものである。図23は、トラフィックシェイピングの機能を説明するものである。バースト状または不均等な間隔でパケットが入力された場合でも、トラフィックシェイピングの機能によって、ブリッジが均等な間隔でパケットを出力する。その結果、受信側システム45が備える受信バッファが小さな容量であっても、受信バッファのあふれを防止できる。
【0082】
図24は、図20Aに示す通信システムのブリッジ43に対して適用されるこの発明の第5の実施形態を示す。第5の実施形態は、ワイヤレスLANと接続されるインターフェースと、イーサネットと接続されるインターフェースとを備えている。
【0083】
図24において、参照符号51がワイヤレスRF部を示す。ワイヤレスRF部51には、アンテナと接続されたRF回路と、OFDM(Orthogonal FrequencyDivision Multiplex) 等の変調回路とが含まれる。ワイヤレスRF部51に対してMAC(Media Access Control)処理を行うワイヤレスMAC部52が接続される。ワイヤレスMAC部52は、どのような方法でデータをワイヤレスLANに送出するか等の制御を行う。参照符号53は、イーサネット物理層処理ブロックを示す。イーサネット物理層処理ブロック53に対してイーサネットMAC部54が接続される。イーサネットMAC部54は、どのような方法でデータをLANケーブルに送出するか等の制御を行う。
【0084】
ワイヤレスMAC部52の出力(端子またはポート)とイーサネットMAC部54の出力の一方がセレクタ55に接続される。セレクタ55は、二つの出力の一方を選択的にアドレス変換部56の入力に接続する。アドレス変換部56は、ワイヤレスLANを経由したパケットをイーサネットに送出する場合、またはその逆にイーサネットを経由したパケットをワイヤレスLANに送出する場合にアドレスの変換を行う機能を有する。
【0085】
アドレス変換部56でアドレスが付け替えられたパケットがトラフィックシェーパ57に供給される。トラフィックシェーパ57は、図23を参照して説明したように、バースト状または不均等の間隔で入力されたパケットを等間隔で出力する機能を有している。トラフィックシェーパ57の出力がセレクタ58に入力される。
【0086】
セレクタ58は、ワイヤレスMAC部52とイーサネットMAC部54との一方の入力(端子またはポート)に接続されている。トラフィックシェーパ57から送出されたパケットがセレクタ58によってワイヤレスMAC部52とイーサネットMAC部54との一方の入力に出力される。図24において、破線が囲んで示すセレクタ55、アドレス変換部56、トラフィックシェーパ57およびセレクタ58は、1チップのLSIとして実現されている。
【0087】
セレクタ58は、セレクタ55が選択する側と異なる側を選択する。例えばセレクタ55がワイヤレスMAC部52の出力を選択する時には、セレクタ58がイーサネットMAC部54の入力を選択する。この場合では、ワイヤレスLANを介して受信されたパケットがアドレス変換およびトラフィックシェイピングの処理を受けてイーサネットに出力される。セレクタ55および58が逆の状態とされる場合には、イーサネットを介して受信されたパケットがアドレス変換およびトラフィックシェイピングの処理を受けてワイヤレスLANに出力される。一例として、パケットのヘッダに含まれているディストネーションアドレス、ソースアドレス、送信機アドレス、受信機アドレス等に基づいてセレクタ55および58が制御される。
【0088】
上述したこの発明の第5の実施形態は、ブリッジがトラフィックシェイピングの機能を持つので、下記のような利点を有する。
【0089】
第1に、送信側システムから入ってきたパケットを均等な間隔で受信側システムに対して送出できるので、受信側システムのバッファの容量が少ない場合でも、パケットの欠落を防ぐことができ、高品位なデータ伝送ができる。
【0090】
第2に、トラフィックシェーパの機能をハードウエアで実現するため、ブリッジを制御するCPUに対して負担がかからない。したがって、非力なCPUによってブリッジを実現できる。また、ソフトウェアでトラフィックシェーパの機能を実現するのと比較して高スループットが実現できる。
【0091】
第3に、ブリッジ内にトラフィックシェーパの機能を搭載することによって、送信側システムにトラフィックシェーパの機能を備える必要がない。したがって、送信側および受信側にどのような機器でも接続することができ、汎用性を持つことができる。
【0092】
第4に、ネットワークの設定を変更する必要がないブリッジにおいてトラフィックシェーパの機能を実現しているので、ネットワークの上位層に負担をかけない利点がある。
【0093】
この発明は、上述したこの発明の一実施形態等に限定されるものでは無く、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。例えば上述した実施形態では、MPEGを例に説明したが、MPEG以外のAVデータの符号化方式に対してもこの発明を適用することができる。また、FIFO以外のメモリを利用してバッファメモリを構成するようにしても良い。
【0094】
【発明の効果】
以上の説明から明らかなように、この発明の第1の実施形態では、トラフィックシェーパがバッファの状況を示すバッファ情報を出力する機能を有し、バッファ情報が前段のプロトコル処理回路にフィードバックされ、バッファがあふれそうまたは満杯であるという情報を前段のプロトコル処理が知ることを可能とし、それによってパケット化を遅らせたり、止めたりして、トラフィックシェーパに対する入力を制御している。それによって、パケットのロスが生じたり、他の全ての送信フローまで止めてしまう問題を回避することができる。
【0095】
この発明の第2の実施形態では、前段のプロトコル処理回路のバッファの容量を大きくし、バッファがトラフィックシェーパのバッファを兼ねるようにしているので、別々にバッファを設けるのと比較してメモリの有効利用、メモリの周辺回路の簡略化が可能となる。
【0096】
この発明の第3の実施形態では、前段のプロトコル処理回路のバッファと、トラフィックシェーパのバッファとを統合したバッファを設けるので、別々にバッファを設けるのと比較して、メモリの周辺回路(アドレスデコーダ、メモリコントローラ、アービトレーション、BIST等が削減でき、チップサイズの縮小化と、消費電力の削減が可能となる。
【0097】
この発明の第4の実施形態によれば、MPEGエンコーダからの入力レートとシェイピングブロックの送出レートとのずれによってバッファがオーバーフローしそうになると、パケットを強制的に送出することによって、バッファのオーバーフローを防止することができる。さらに、バッファがオーバーフローするおそれがあることをホストCPUに通知して、ホストCPUによってエンコードレートおよびシェイピングレートを調整するので、これらのレートを最適な値に制御することができる。
【0098】
この発明の第5の実施形態は、ブリッジがトラフィックシェイピングの機能を持つので、第1に、送信側システムから入ってきたパケットを均等な間隔で受信側システムに対して送出できるので、受信側システムのバッファの容量が少ない場合でも、パケットの欠落を防ぐことができ、高品位なデータ伝送ができる。
【0099】
第2に、トラフィックシェーパの機能をハードウエアで実現するため、ブリッジを制御するCPUに対して負担がかからない。したがって、非力なCPUによってブリッジを実現できる。また、ソフトウェアでトラフィックシェーパの機能を実現するのと比較して高スループットが実現できる。
【0100】
第3に、ブリッジ内にトラフィックシェーパの機能を搭載することによって、送信側システムにトラフィックシェーパの機能を備える必要がない。したがって、送信側および受信側にどのような機器でも接続することができ、汎用性を持つことができる。
【0101】
第4に、ネットワークの設定を変更する必要がないブリッジにおいてトラフィックシェーパの機能を実現しているので、ネットワークの上位層に負担をかけない利点がある。
【図面の簡単な説明】
【図1】この発明の第1の実施形態の構成を示すブロック図である。
【図2】パケット化の処理を説明するための略線図である。
【図3】RTPヘッダの一例のデータ構成を示す略線図である。
【図4】UDPヘッダの一例のデータ構成を示す略線図である。
【図5】IPヘッダの一例のデータ構成を示す略線図である。
【図6】DIXヘッダの一例のデータ構成を示す略線図である。
【図7】タグ付きDIXヘッダの一例のデータ構成を示す略線図である。
【図8】従来の処理の流れを示すフローチャートである。
【図9】この発明の第1の実施形態の処理の流れを示すフローチャートである。
【図10】この発明の第2の実施形態の構成を示すブロック図である。
【図11】この発明の第2の実施形態の処理の流れを示すフローチャートである。
【図12】この発明の第3の実施形態の構成を示すブロック図である。
【図13】この発明の第3の実施形態の処理の流れを示すフローチャートである。
【図14】従来の通信装置の構成を示すブロック図である。
【図15】トラフィックシェイピングの機能を説明するための略線図である。
【図16】バッファのオーバーフローを説明するための略線図である。
【図17】この発明の第4の実施形態の構成を示すブロック図である。
【図18】この発明の第4の実施形態を説明するための略線図である。
【図19】この発明の第4の実施形態の処理の流れを示すフローチャートである。
【図20】この発明を適用できる通信システムの一例および他の例を示すブロック図である。
【図21】入力パケットの到着時間の一例および他の例を示す略線図である。
【図22】バッファのあふれを説明するための略線図である。
【図23】トラフィックシェーパの機能を説明するための略線図である。
【図24】この発明の第5の実施形態の構成を示すブロック図である。
【符号の説明】
1・・・RTP回路、2・・・プロトコルスタックおよびルータ、3,3a・・・トラフィックシェーパ、4・・・ネットワークコントローラ、5・・・ホストインターフェース、11,11a・・・RTPバッファ、13・・・TSバッファ、14・・・統合バッファ、21・・・MPEGエンコーダ、23,23a・・・シェイピングブロック、23b・・・インターバルカウンタ、25・・・パケットバッファ、26,26a・・・通信装置、27a・・・THu監視部、27b・・・THl監視部、28・・・ホストCPU、41・・・送信側システム、43・・・ブリッジ、45・・・受信側システム、45a・・・受信バッファ、55,58・・・セレクタ、56・・・アドレス変換部、57・・・トラフィックシェーパ
Claims (9)
- エンコーダから供給された符号化データをパケット化してネットワークへ送出する通信装置において、
上記符号化データを第1の記憶手段へ蓄積させた上で、蓄積された上記符号化データを上記ネットワークのプロトコルにしたがってパケット化するネットワークプロトコル処理部と、
上記ネットワークプロトコル処理部のパケット化により生成されたパケットデータを第2の記憶手段に蓄積させ、蓄積された上記パケットデータを等間隔で出力するトラフィックシェイピング部と、
上記トラフィックシェイピング部から出力されたデータを上記ネットワークに対して送出するパケット送出部と、
上記トラフィックシェイピング部から上記第2の記憶手段の使用量を示すバッファ情報を受領することにより、上記使用量が所定値を超えたものと判断された場合には、上記ネットワークプロトコル処理部に対して上記パケットデータの出力を抑制させる制御部とを備えたことを特徴とする通信装置。 - 請求項1において、
上記制御部は、上記バッファ情報に応じ、上記ネットワークプロトコル処理部に対して上記トラフィックシェイピング部への上記パケットデータの供給を一時的に停止させる通信装置。 - エンコーダから供給された符号化データをパケット化してネットワークへ送出する通信装置において、
上記符号化データを上記ネットワークのプロトコルにしたがってパケット化し、記憶手段へ格納するネットワークプロトコル処理部と、
上記ネットワークプロトコル処理部に対して、上記記憶手段へ格納されたデータを等間隔で出力させるトラフィックシェイピング部と、
上記ネットワークプロトコル処理部から出力されたデータを上記ネットワークへ送出する送出部とを備えたことを特徴とする通信装置。 - エンコーダから供給された符号化データをパケット化してネットワークへ送出する通信装置において、
上記符号化データを上記ネットワークのプロトコルにしたがってパケット化するネットワークプロトコル処理部と、
上記ネットワークプロトコル処理部のパケット化により生成されたパケットデータを等間隔で出力するトラフィックシェイピング部と、
上記トラフィックシェイピング部から出力された上記パケットデータを上記ネットワークに対して送出する送出部と、
上記ネットワークプロトコル処理部と上記トラフィックシェイピング部との間で共有され、上記ネットワークプロトコル処理部によりパケット化されたデータを格納すると共に、上記トラフィックシェイピング部からの要求に応じて格納されている上記パケットデータを上記トラフィックシェイピング部へ供給する記憶手段とを備えたことを特徴とする通信装置。 - エンコーダから供給された符号化データをパケット化するステップと、上記ステップにおけるパケット化により生成されたパケットデータを記憶手段に保存し、保存された上記パケットデータを等間隔で上記ネットワークへ送出するステップとを有する通信方法において、
上記記憶手段に保存された上記パケットデータの量に応じて、上記パケットデータの上記記憶手段への供給量を制限するステップを有することを特徴とする通信方法。 - エンコーダから供給された符号化データをパケット化してネットワークへ送出する通信装置において、
上記符号化データを上記ネットワークのプロトコルにしたがってパケット化するネットワークプロトコル処理部と、
上記ネットワークプロトコル処理部のパケット化により生成されたパケットデータを記憶する記憶手段と、
上記記憶手段に記憶された上記パケットデータを等間隔で出力するトラフィックシェイピング部と、
上記記憶手段に記憶されている上記パケットデータのデータ量が所定値を超えたか否かを監視して、上記データ量が上記所定値を超えた場合には上記トラフィックシェイピング部に対して上記記憶手段に記憶されている上記パケットデータを強制的に出力させる監視部と、
上記トラフィックシェイピング部から出力された上記パケットデータを上記ネットワークに対して送出する送出部とを備えたことを特徴とする通信装置。 - 請求項6において、
上記監視部は、上記データ量が上記所定値を超えた場合には、さらに上記エンコーダにおけるエンコードレートを下げるための信号を外部出力する通信装置。 - 二つのネットワーク間に配置され、いずれか一方のネットワークを介して受信したパケットデータを他方のネットワークに送出する通信装置において、
上記一方のネットワークを介して受信したパケットデータを記憶手段に記憶させ、記憶された上記パケットデータを等間隔で上記他方のネットワークへ送出するトラフィックシェイピング部を備えたことを特徴とする通信装置。 - 二つのネットワーク間において、いずれか一方のネットワークを介して受信されたパケットデータを他方のネットワークに送出する通信方法であって、
上記一方のネットワークを介して受信したパケットデータ保存し、保存された上記パケットデータを等間隔で上記他方のネットワークへ送出することを特徴とする通信方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002349981A JP2004186882A (ja) | 2002-12-02 | 2002-12-02 | 通信装置および通信方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002349981A JP2004186882A (ja) | 2002-12-02 | 2002-12-02 | 通信装置および通信方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004186882A true JP2004186882A (ja) | 2004-07-02 |
Family
ID=32752357
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002349981A Pending JP2004186882A (ja) | 2002-12-02 | 2002-12-02 | 通信装置および通信方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004186882A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8614947B2 (en) | 2010-06-11 | 2013-12-24 | Fujitsu Limited | Apparatus for transmitting packet |
JP2014220621A (ja) * | 2013-05-07 | 2014-11-20 | アンリツネットワークス株式会社 | パケット処理方法及びパケット処理装置 |
-
2002
- 2002-12-02 JP JP2002349981A patent/JP2004186882A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8614947B2 (en) | 2010-06-11 | 2013-12-24 | Fujitsu Limited | Apparatus for transmitting packet |
JP2014220621A (ja) * | 2013-05-07 | 2014-11-20 | アンリツネットワークス株式会社 | パケット処理方法及びパケット処理装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3792631B2 (ja) | パケット伝送方法及び装置、それを用いた基地局装置、無線lan端末装置、無線lanシステム | |
US8831024B2 (en) | Dynamic header creation and flow control for a programmable communications processor, and applications thereof | |
JP5095751B2 (ja) | Tdmamac層における適応時間割り当て | |
EP1580914A1 (en) | Method and system for controlling operation of a network | |
US20080095155A1 (en) | Programmable communications system | |
EP1427150A2 (en) | Method of transmitting multimedia data over WLAN and point coordinator in WLAN | |
JPWO2003017577A1 (ja) | 伝送装置および伝送方法 | |
US20070064609A1 (en) | Communication processing apparatus, communication control method and computer program | |
WO2010061817A1 (ja) | 無線装置 | |
JP2010522468A (ja) | Tcpackの管理によるlanにおけるスループット改善 | |
WO2005046142A1 (ja) | 通信装置、通信方法、通信プログラム、および通信プログラムを記録した記録媒体 | |
EP1395020A2 (en) | Method and apparatus for dynamically controlling a real-time multimedia data generation rate | |
GB2423219A (en) | A proxy device interposed between a server and a wireless client controls a characteristic of the server depending on the quality of the link to the client | |
US20050122904A1 (en) | Preventative congestion control for application support | |
JP3652233B2 (ja) | 無線ネットワークシステム | |
US20230090803A1 (en) | Network Infrastructure Device, Communication Terminal and Method for Synchronizing Control Applications via a Communication Network for Transferring Time-Critical Data | |
JP2007060345A (ja) | ネットワークシステム | |
JP2009141565A (ja) | 受信端末装置 | |
JP2004186882A (ja) | 通信装置および通信方法 | |
EP1540496A2 (en) | Method and apparatus for integrating non-ip and ip traffic on a home network | |
JP2004180192A (ja) | ストリーム制御方法およびその方法を利用可能なパケット転送装置 | |
WO2023281586A1 (ja) | 集線装置、輻輳制御方法、及び輻輳制御プログラム | |
Gubbi | Isochronous services in home multimedia networks | |
JP2004282584A (ja) | ネットワークを経由した動画データ通信システム | |
JP2005057367A (ja) | 無線通信システム、無線端末及び無線基地局 |