"複数の通信端末のそれぞれへ送信すべき各データをフレームとして前記複数の通信端末のそれぞれへ送信する通信装置であって、前記複数の通信端末のそれぞれが受信可能な複数の許容フレーム長と前記送信すべき各データのデータ長との差分に基づいて、送信フレーム長を選択する選択手段と、前記選択手段により選択された送信フレーム長のフレームを生成する生成手段と、を備えることを特徴とする通信装置。前記選択手段は、前記複数の許容フレーム長のうち、前記送信すべき各データのデータ長と前記許容フレーム長との差分の和が最小となる前記許容フレーム長を、送信フレーム長として選択することを特徴とする請求項1に記載の通信装置。前記選択手段は、前記送信フレーム長では、送信すべきデータを分割できず前記生成手段によりフレームを生成できない場合、当該送信フレーム長の次に長い前記許容フレーム長を代わりに選択することを特徴とする請求項1または2に記載の通信装置。前記生成手段は、送信すべきデータのデータ長が前記選択手段により選択された前記送信フレーム長よりも短い場合、パッディングデータを挿入することで、前記送信フレーム長のフレームを生成することを特徴とする請求項1乃至3の何れか1項に記載の通信装置。前記複数の通信端末へ前記フレームとして送信すべき各データの長さの差分の和が閾値を超過するか否かを判定する判定手段をさらに備え、前記選択手段は、前記判定手段により前記各データの長さの差分の和が閾値を超過すると判定された場合に、前記選択を実行することを特徴とする請求項1乃至4の何れか1項に記載の通信装置。前記選択手段は、前記判定手段により前記各データの長さの差分の和が閾値以下であると判定された場合に、前記複数の通信端末のそれぞれが受信可能な許容フレーム長のうち、最も長い許容フレーム長を選択することを特徴とする請求項5に記載の通信装置。選択手段と、生成手段とを備え、複数の通信端末のそれぞれへ送信すべき各データをフレームとして前記複数の通信端末のそれぞれへ送信する通信装置の制御方法であって、前記選択手段が、前記複数の通信端末のそれぞれが受信可能な複数の許容フレーム長と前記送信すべき各データのデータ長との差分に基づいて、送信フレーム長を選択する選択工程と、前記生成手段が、前記選択工程により選択された送信フレーム長のフレームを生成する生成工程と、を有することを特徴とする通信装置の制御方法。請求項7に記載の通信装置の制御方法の各工程をコンピュータに実行させるためのプログラム。しかしながら、特許文献1に記載の技術では、フレーム長が短い受信機は多くの待ち時間が発生してしまい、MU-MIMO全体として効率が低下する可能性がある。また、受信機ごとに一度に受信可能な多重化フレームサイズが決まっており、そのフレームサイズに差があった場合も同じく、多くの待ち時間が発生してしまう可能性がある。上記の課題に鑑み、本発明は、MU-MIMO全体で効率的な通信を可能にすることを目的とする。上記の目的を達成する本発明に係る通信装置は、複数の通信端末のそれぞれへ送信すべき各データをフレームとして前記複数の通信端末のそれぞれへ送信する通信装置であって、前記複数の通信端末のそれぞれが受信可能な複数の許容フレーム長と前記送信すべき各データのデータ長との差分に基づいて、送信フレーム長を選択する選択手段と、前記選択手段により選択された送信フレーム長のフレームを生成する生成手段と、を備えることを特徴とする。本発明によれば、MU-MIMO全体で効率的な通信が可能になる。第1実施形態MU-MIMO環境において、複数の端末に異なる送信データサイズのフレームを多重化して同時に送信する場合を考える。この場合、送信データのサイズを調整するためにPaddingデータパッディングデータを挿入すると、送信データサイズが小さい端末は、そのPaddingデータのサイズ分、受信状態でいなければならない。端末は、受信状態の間は、送受信回路への電力供給を停止するパワーセーブ状態に入ることができず、余計な電力を消費してしまう。更に、端末が連続したデータの受信を行う場合、Paddingデータの受信待機の時間分、伝送効率の低下が起こってしまう。そこで本実施形態では、MU-MIMO環境において、複数の端末に異なる送信データサイズのフレームを多重化して送信する場合、送信データサイズの差分を考慮し、また、複数の通信端末のそれぞれが受信可能なフレーム長のうち、複数の通信端末全体の受信効率の低下が最小となるようにフレーム長を選択し、当該選択されたフレーム長でフレームを生成する。これにより効率的な通信が可能となる。以下、本実施形態に係る通信装置について、図面を参照しながら詳細に説明する。以下では、IEEE802.11シリーズに準拠した無線LANシステムを用いた例について説明するが、通信形態は必ずしもIEEE802.11準拠の無線LANに限定されない。図1を参照して、本実施形態に係る通信装置のハードウェア構成を説明する。通信装置101は、制御部102と、記憶部103と、無線通信部104と、表示部105と、アンテナ制御部106と、アンテナ107とを備える。制御部102は、記憶部103に記憶される制御プログラムを実行することにより通信装置101全体を制御する機能を有する。制御部102は、CPU、MPU等のコンピュータにより構成される。記憶部103は、制御部102が実行する制御用のコンピュータプログラムと、通信に必要な各種情報とを記憶する。後述する各種動作は、記憶部103に記憶された制御プログラムを制御部102が読み出して実行することにより行われる。なお、記憶部103には、ROM,RAM等のメモリ、又はフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD-ROM、CD-R、磁気テープ、不揮発性のメモリカード、DVDなどを用いることができる。無線通信部104は、外部と無線通信を行う機能を有する。表示部105は、各種表示動作を行い、LCDやLEDのように視覚で認知可能な情報の出力、あるいはスピーカなどの音声出力が可能な機能を有し、ユーザに各種情報を映像または音声あるいは両方で通知する。アンテナ制御部106は、アンテナ107の動作を制御する。アンテナ107は、図1においては一本のアンテナとして描かれているが、実際にはMIMOを行うために複数本のアンテナを保持している。入力部108は、ユーザからの各種入力を受け付ける。図2を参照して、通信装置101のソフトウェア機能構成を説明する。通信装置101は、パケット受信部201と、パケット送信部202と、ネットワーク制御部203と、フレーム生成部204と、フレーム長判断部205と、フレーム長調整部206とを備える。パケット受信部201は、各種通信に係るパケットを受信する。パケット送信部202は、フレーム生成部204により生成されたフレームを各種通信に係るパケットとして送信する。ネットワーク制御部203は、ネットワーク接続を制御し、基地局の機能部として動作する。フレーム生成部204は、送信すべきフレームを生成する。フレーム長判断部205は、送信すべきフレーム長を調整する必要があるか否かを判断する。フレーム長調整部205は、フレーム長判断部206によりフレーム長を調整する必要があると判断された場合に、実際にフレーム長を調整する。図3を参照して、本実施形態に係るネットワーク構成の一例を説明する。図1および図2で説明した構成を有する通信装置101が、通信端末301、通信端末302、および通信端末303のそれぞれとの間でネットワークを形成している。次に図4のフローチャートを参照して、通信装置101が送信フレームサイズを決定する処理手順を説明する。図4に示される各処理は、制御部102が記憶部103に記憶されたコンピュータプログラムを読み出して実行することにより行われる。ステップS401において、フレーム生成部204は、各通信端末図3に示される例では、通信端末301、通信端末302、および通信端末303へ送信するデータを生成する。フレーム生成部204により生成されるデータのサイズは、送信先の各通信端末の受信可能多重化フレームサイズを超えないように算出される。ステップS402において、フレーム長判断部205は、ステップS401で生成された各データのデータ長を算出し、各々の送信データサイズ間に差分があるか否かを判断する。各々の送信データサイズ間に差分があると判断された場合S402;YES、ステップS403へ進む。一方、各々の送信データサイズ間に差分がなく全て同一サイズであると判断された場合S402;NO、ステップS407へ進む。ステップS403において、フレーム長判断部205は、ステップS402で算出された送信データサイズ間の差分が閾値を超過しているか否かを判定する。なお、送信先の通信端末が3つ以上存在する場合など送信データが3つ以上存在する場合には、各送信データ同士の差分の和が閾値を超えているか否かを判断する。閾値は、通信装置101と各通信端末と間での通信速度やSIFS、ACKなどの通信のオーバヘッドから導いた適正値やアプリケーションごとの設定値、メーカごとの規定値などに基づいて決定される。詳細は図5を算出して後述する。差分が閾値を超えていると判定された場合S403;YES、ステップS404へ進む。一方、差分が閾値以下であると判定された場合S403;NO、ステップS406へ進む。ステップS404において、フレーム長調整部206は、各通信端末の受信可能多重化フレームサイズ許容フレーム長の中から、送信に用いるべきフレームサイズを選択する選択処理を実行する。フレーム長調整部206は、例えば、送信フレームのサイズを各通信端末へ送る各送信データの長さに調整した場合に、図5を参照して後述する通信端末全体での受信効率低下値が最小となるサイズを選択する。なお、複数の通信端末全体の受信効率の低下が最小となるフレーム長ではフレームとして送信すべきデータを分割できない場合、当該フレーム長の次に長いフレーム長を代わりに選択してもよい。この分割の可否はデータの種類に応じて決まってくる。なお、差分が最も縮まる長さである通信端末の送信データサイズを選択してもよい。また、最も小さい送信データサイズに合わせるために当該最も小さい送信データサイズを選択してもよい。ステップS405において、フレーム長判断部205は、S405で選択されたフレームサイズに基づいて、Paddingデータの挿入が必要であるか否かを判断する。具体的には、送信すべきデータのデータ長が送信フレーム長よりも短い場合にPaddingデータの挿入が必要であると判断できる。なお、実際には、送信すべきデータには送信元送信先のアドレスやエラーチェック等の情報が付加されてフレーム全体が構成されることになる。そのため、フレーム全体の長さとの整合を取るためにPaddingデータの挿入を行えばよい。Paddingデータの挿入が必要であると判断された場合S405;YES、ステップS406へ進む。一方、Paddingデータの挿入が不要であると判断された場合S405;NO、ステップS407へ進む。ステップS406において、フレーム長調整部206は、Paddingデータの挿入を実行する。ただし、複数のデータの長さの差分の和が閾値以下であると判定された場合にはS403;NO、複数の通信端末のそれぞれが受信可能なフレーム長のうち、最も長いフレーム長をフレームの長さとして選択した上でPaddingデータの挿入を実行する。ステップS407において、フレーム生成部204は、S402でフレーム長に差分がないと判断された場合にはそのフレーム長で、あるいは、S404で決定されたフレーム長で、送信フレームを生成する。また、S402で各データの長さの差分の和が閾値以下であると判定された場合には、前記複数の通信端末のそれぞれが受信可能な許容フレーム長のうち、最も長い許容フレーム長を選択して送信フレームを作成する。以上で、図4のフローチャートの各処理が終了する。図5を参照して、図4のS404およびS405の処理の詳細を説明する。図5では、図3のネットワークを構成する通信装置101と、それぞれ受信可能多重化フレームサイズが異なる通信端末301、通信端末302、および通信端末303とが接続している環境を想定している。本実施形態では簡単化のため、各通信端末の受信可能多重化フレームサイズを比で表し、通信端末301は5、通信端末302は2、通信端末303は1とする。点線501は、各通信端末の受信可能多重化フレームサイズの最大長で送信フレームを生成した場合を示している。この場合、通信端末302と通信端末303への送信データには、それぞれ通信端末301の受信可能多重化フレームサイズ-通信端末302の受信可能多重化フレームサイズ分のPaddingデータ、通信端末301の受信可能多重化フレームサイズ-通信端末303の受信可能多重化フレームサイズ分のPaddingデータ挿入されている。すなわち、挿入されるPaddingデータのサイズは、比で示すと通信端末302については5-2=3となり、通信端末303については5-1=4となる。よって、通信端末302に関しては受信したデータの1.5=3/2倍、通信端末303に関しては受信したデータの4=4/1倍に相当する時間だけ受信待機をしなければならず、点線501の場合、通信端末全体での受信効率低下値は合計で7=34となる。点線502は、送信フレームサイズを通信端末302の送信データに合わせた場合を、点線503は、送信フレームサイズを通信端末303の送信データに合わせた場合をそれぞれ示している。点線502の場合の受信効率低下値は、送信できなかった通信端末301のデータ分を示す通信端末301の受信可能多重化フレームサイズ-通信端末302の受信可能多重化フレームサイズ=5-2=3および通信端末303のPaddingデータ分を示す通信端末302の受信可能多重化フレームサイズ-通信端末303の受信可能多重化フレームサイズ=2-1=1の合計値で、31=4となる。一方、点線503の場合の受信効率低下値は、送信できなかった通信端末301のデータ分を示す通信端末301の受信可能多重化フレームサイズ-通信端末303の受信可能多重化フレームサイズ=5-1=4および送信できなかった通信端末302のデータ分を示す通信端末302の受信可能多重化フレームサイズ-通信端末303の受信可能多重化フレームサイズ=2-1=1の合計値で、41=5となる。点線503の場合、Paddingデータが存在しないため、無駄な送信データは存在しないが、送信フレームサイズが小さいため、フレームに必須のHeaderや通信に必要なACKなどのオーバヘッドの影響が大きくなってしまう。よって、本実施形態では、例えば点線502の場合が最も効率が良いものと判断し、送信フレームサイズとして通信端末302の受信可能多重化フレームサイズを選択して決定する。すなわち、複数の通信端末のそれぞれが受信可能な受信可能多重化フレームサイズ許容フレーム長のうち、送信すべき各データのデータ長と許容フレーム長との差分の和が最小となる許容フレーム長を、複数の通信端末全体の受信効率の低下が最小となるフレーム長として選択する。なお、本実施形態では、ACKなどのオーバヘッド分、通信端末301の伝送効率は低下する。しかし、他の通信端末の無駄な受信待機時間を減らすことにより、MU-MIMO全体として効率の良い通信が実現可能である。その他のフレームサイズの決定方法としては、最短フレームサイズに合わせる方法や、ACK等のオーバヘッドまで考慮して伝送時間が最短になるフレームサイズを決定する方法を用いてもよい。図6を参照して、通信端末側からのアクションをトリガとして、通信装置101がフレームサイズの再計算を行う場合の処理シーケンスを説明する。各通信端末の受信可能多重化フレームサイズは図5で説明した場合と同一とする。図6において、通信装置101は、まず各通信端末へ送信すべきデータを生成するF601。F601で生成されるデータサイズは、各通信端末の受信可能多重化フレームサイズとする。その後、通信装置101は生成したデータを多重化して送信するF602。このとき、点線501の場合と同じく、通信端末302は受信したデータの1.5倍、通信端末303は受信したデータの4倍の時間、受信待機をしなければならないF603。データの受信が終わると、各通信端末はACKを返答するF604。その後、待機時間の長かった通信端末303は通信装置101へ、フレームサイズ変更依頼を送信するF605。フレームサイズ変更依頼を受け取った通信装置101はフレームサイズの再計算を行うF606。このように、通信端末側からのアクションをトリガとしてフレームサイズ計算処理を行ってよいし、1回または複数回に渡って各通信端末へデータを送信し、ACKが返信されるまでの時間の実測値に基づいてフレームサイズ計算処理を行ってよい。また、新規に通信端末が接続された場合をトリガとしてフレームサイズ計算処理を行ってよい。以上、本発明の実施形態を説明したが、これは本発明の説明のための例示であって、本発明の範囲をこの実施形態のみに限定する趣旨ではない。本発明の要旨を逸脱しない範囲で、実施形態は種々に変形することが可能である。また、上記説明はIEEE802.11準拠の無線LANを例に説明した。しかしながら、本発明は、ワイヤレスUSB、MBOAMultiBandOFDMAlliance、Bluetooth登録商標、UWBワイヤレスUSB、ワイヤレス1394、WINETなどを含む、ZigBee等の他の無線媒体において実施してもよい。また、有線LAN等の有線通信媒体において実施してもよい。以上説明したように、本実施形態によれば、MU-MIMO通信を行う場合に、通信端末ごとに受信可能な多重化フレームサイズに差がある場合でも効率的な通信が可能となる。その他の実施形態また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェアプログラムを、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータまたはCPUやMPU等がプログラムを読み出して実行する処理である。"