(57)【要約】      （修正有）【課題】再送時において、初送時のAMD PDUが分割されて送信される場合、分割されたデータ（Segment-PDU）から正しく初送時のAMD PDUを組み立てる移動通信装置を提供する。【解決手段】Segment-PDUを受信した際に、元のAMD PDU（初送時のAMD PDU）のデータが全て受信済みとなったか否かを判断し、全て受信済みの場合に受信した複数のSegment-PDUを組み合わせてAMD PDUを生成する。受信側のメモリ上でAMD PDUの受信を１バイト単位又は複数バイト単位に監視し、すべてのデータの受信状況を管理する。【選択図】図５
2010068442.tif 000002
【特許請求の範囲】
【請求項１】
初送時の元データの再送データとして、前記元データを分割した複数の分割データを受信する移動通信装置において、
前記再送データが前記分割データであるかどうか識別する識別部と、
前記元データを構成する分割データすべてを受信したどうか判定する判定部と、
前記判定部が、前記分割データすべて受信したと判定すると、前記分割データを組み合わせて前記元データを組み立てる組立部とを備えることを特徴とする移動通信装置。
【請求項２】
請求項１において、
前記元データの１バイト単位のデータ部分位置に対応するフラグ領域を有するメモリを備え、
前記判定部は、前記分割データの前記元データにおける位置に対応するフラグ領域に受信済み情報を書き込み、前記元データのデータ長に対応するフラグ領域すべてに受信済み情報が書き込まれると、前記分割データすべてを受信したと判定することを特徴とする移動通信装置。
【請求項３】
請求項１において、
前記元データの複数バイト単位のデータ部分位置に対応する複数のフラグ領域を有するメモリを備え、
前記判定部は、前記分割データの前記元データにおける位置に対応するフラグ領域に受信済み情報を書き込み、前記元データのデータ長に対応するフラグ領域すべてに受信済み情報が書き込まれると、前記分割データすべてを受信したと判定することを特徴とする移動通信装置。
【請求項４】
請求項１において、
前記元データの１バイト単位のデータ部分位置に対応する複数の第一のフラグ領域と前記元データの複数バイト単位のデータ部分位置に対応する複数の第二のフラグ領域とを有するメモリを備え、
前記判定部は、前記分割データが前記第二のフラグ領域のいずれか一つに対応するデータ部分すべてを含んでいる場合、該第二のフラグ領域に受信済み情報を書き込み、前記分割データが前記第二のフラグ領域のいずれか一つに対応するデータ部分の一部を含んでいる場合、該一部の前記元データにおける位置に対応する第一のフラグ領域に受信済み情報を書き込み、所定の第二のフラグ領域のデータ部分位置に対応するすべての第一のフラグ領域に受信済み情報が書き込まれると、該所定の第二のフラグ領域に受信済み情報を書き込み、前記元データのデータ長に対応する前記第二のフラグ領域すべてに受信済み情報が書き込まれると、前記分割データすべてを受信したと判定することを特徴とする移動通信装置。
【請求項５】
請求項１乃至４のいずれかにおいて、
前記元データは無線通信のプロトコルレイヤを構成するレイヤ２に属するRLCレイヤで受信されるAMD PDU (Acknowledge Mode Data Protocol Data Unit)であり、前記分割データは前記AMD PDUを分割したSegment-PDUであることを特徴とする移動通信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、無線データを受信する移動通信装置に関し、特に、無線データの再送制御を行う移動通信装置に関する。
【背景技術】
【０００２】
現在、第３世代(3G)の移動通信システムとしてW-CDMAシステムが普及し、さらに、W-CDMAのデータ通信を高速化（最大14Mbps）したHSDPA(High-Speed Downlink Packet Access)と呼ばれる規格が実用化されつつある。HSDPAは、3G方式の改良版であることから、3.5Gとも呼ばれている。３G方式の標準化団体3GPP(3rd Generation Partnership Project)の発行した「Release 5」規格で標準化されている。
【０００３】
HSDPAによる3.5Gの移動通信システムが実現された後は、続いて、更なる高速化、大容量化が実現する第４世代(4G)に早期に移行することが期待されているが、現状、第４世代に移行する前に、3.9G（スーパー3Gと呼ばれることもある）と呼ばれる段階をもう一段経て4Gに移行することが予定されている。3.9Gの通信速度は最大速度100Mbps程度が想定されている。
【０００４】
このような通信速度の高速化において、送信したデータが正しく受信できなかった際に、再度同じデータを送信する再送制御は、通信品質の確保、向上のために必須な制御であり、この再送制御（ARQ(Automatic Repeat Request)）は、一般には、無線プロトコルアーキテクチャにおけるレイヤ２(Layer2)のサブレイヤであるRLC レイヤとMAC レイヤに実装されている。
【０００５】
再送制御は、データ送信側（送信装置）から送信したデータが、データ受信側（受信装置）において、正常に受信できなかった場合（判定方式として、例えば、CRC による判定、送信順序通りに到着していないことで未受信と判定する方式などさまざまな方式が提案されている）に、再度同じデータを送信するものである。データ受信側では、正常に受信できなかった場合は、データ送信側へNACK 情報（正常受信時はACK 情報）を通知することで、再送を要求するものである。なお、再送が行われると、データ受信側で到着するデータ順は、送信順序と異なってしまうため、並び替え（送信順序と同じ並びとする）を行うリオーダリング処理も行われる。また、再送制御（ARQ）と誤り訂正符号化処理を組み合わせたHARQ(Hybrid ARQ)方式も実現されている。
【０００６】
図１は、レイヤ２における再送制御を説明する図である。図１では、RLC レイヤではARQ 方式が用いられ、MAC レイヤではHARQ 方式が用いられている。この２つの再送制御に関しては、同じレイヤ２内の制御であるにもかかわらず、互いに独立した制御となっている。
【０００７】
送信装置１０のRLCレイヤ部１１は、上位レイヤからのユーザデータに基づいてAMD PDU (Acknowledge Mode Data Protocol Data Unit)を生成する。AMD PDUは、再送制御が行われるAcknowledge ModeにおけるRLCレイヤのデータフォーマットである。
【０００８】
生成されたAMD PDUはMAC レイヤへ送られ、MACレイヤ部１２は、AMD PDUをMAC レイヤのフォーマットであるMAC PDU に変換する。その後、送信無線部１３で無線データに変換し、受信装置２０へ送る。
【０００９】
受信装置２０では、送信装置１０から送られてきた無線データを受信無線部２３で受信・変換し、MAC PDU フォーマットでMAC レイヤ部２２へ渡す。MAC レイヤ部２２では、必要に応じてHARQ処理後、AMD PDU フォーマットとして、RLC レイヤ部２１へ渡す。
【００１０】
ここで、受信装置２０のMACレイヤ部２２において、受信したデータが正常でないと判断された場合は、RLCレイヤ部２１へはデータを渡さず、送信装置１０へ再送要求を行う（HARQ 処理）。この再送は、規定回数繰り返すが、それでも正常受信できない場合は、再送処理を諦めて、既データ通信を終了する。
【００１１】
図示されるように、MACレイヤ部２２のHARQ処理は、RLC レイヤ部２１のARQ処理の前段階で実施されるので、データRLCレイヤ部２１に到着するデータ順序は送信順序と異なる場合があり得る。この場合、MACレイヤ部２２で正常受信できずに再送要求しているデータについて、RLCレイヤ部２１においても、再送要求を行ってしまうことになる。これは、MACレイヤ部２２の再送制御とRLCレイヤ部２１の再送制御が各々独立して動作するものであり、RLC レイヤ部では、抜けた番号のデータがHARQ 処理によって再送されてくるものか、再送を諦めてしまったものかの判断が難しく、一定の目安（推定によるもの）を用いて再送処理を実施してしまうことによる。
【００１２】
このように、RLC レイヤ部では、MAC レイヤ部において、正常に通信できなかったものに対して、再送処理を行う。但し、ここでの再送処理（再送判定）はMAC レイヤ部で再送不可となった情報による再送を行うものではなく、RLC レイヤ部に到着したデータの中で、抜けた番号のデータ（AMD PDU のヘッダ情報に付加したシーケンシャルな番号の連続性チェック）がある場合に、自律で送信装置１０側へ再送要求を促す。
【００１３】
送信装置１０のRLC レイヤ部１１では、再送要求された番号のデータを再送するが、無線環境の変化により伝送レートが低下し、初送時のデータサイズの送信が不可となった場合、送信するデータを分割（Segment PDU を生成）し、初送時には１つだったAMD PDU を複数個に分割して送信する。
【００１４】
RLC レイヤにおける再送制御は、3GPP TS36.322によって規定されており、これに従って再送処理を行う。今般、3GPP TS36.322 V8.0.0への改定に伴い、送信するRLCレイヤのデータ（AMD PDU）の生成方法が大きく変更された。以下の説明では、3GPP TS36.322 V8.0.0以前のデータ生成方法を「旧規格」と称し、3GPP TS36.322 V8.0.0以降のデータ方法を「現規格」と称する。
【００１５】
以下に、初送時に１つのAMD PDUを再送時に分割して送信する場合のデータ生成方法について、旧規格と現規格について説明する。
【００１６】
図２は、旧規格による再生制御の再送データ生成方法について説明する図である。図２では、旧規格のAMD PDUの生成と再送について示す。到着したユーザデータを固定長サイズに分割し、これにAMDヘッダ（順序情報を含む）を付与することで、AMD PDUを生成する。このAMD PDUを送信するとき、伝送レートに応じて１フレームで送信できるAMD PDU数を変えることで、送信するフォーマットであるMAC PDUを生成する。図２の例では、ユーザデータ１、２から８個のAMD PDU が生成される。そして、このうちの７個のAMD PDUをフレーム化して、MAC PDUを生成・送信する。
【００１７】
受信側において、該送信データを正常に受信できなかった場合は、再送処理が行われる。再送処理では、受信側で正常に受信されていないAMD PDU を要求されるので、初送と同じデータの再送要求を行う。しかし、伝送レートが初送時よりも低下し、初送時と同じ数のAMD PDUを送信ができない場合、再送時の伝送レートで送信可能な数分だけのAMD PDU をフレーム化し、送信する。このフレームタイミングで再送できなかったAMD PDUは、次タイミングで送信される。図２の例では、再送要求された直後にAMD PDU1〜5を送信し、残りのAMD6〜7については、次タイミングで送信する。
【００１８】
このように、旧規格では、送信するユーザデータを複数の固定サイズのAMD PDUに分割し、送信するため、１フレームで送信するAMD PDUの数を調整することで、伝送レートの変化に比較的容易に対応可能であるが、半面、分割する固定サイズを小さな値としなければならなく、これにより、ヘッダ付加によるオーバーヘッドが伝送レートの低下要因となっていた。この点を改善するために、できるだけ付加するヘッダ情報量を減らす方式が検討されたものが、現規格である。
【００１９】
図３は、現規格のAMD PDUのデータフォーマットを説明する図である。ユーザデータはその種類によって可変長であるが、これを任意のbyte 長に区切り、AMDヘッダを付与することで、AMD PDUを生成する。旧規格は、このユーザデータの区切りを固定長で行っており、AMD PDU長は一定となっていた。しかし、旧規格ではユーザデータに対し、AMDヘッダのオーバーヘッドが大きく、伝送レートを低下させる原因となっていた。そこで、現規格では、ユーザデータの区切りを可変長（伝送レートに応じたサイズ）とすることで、AMDヘッダのオーバーヘッドを低減した。すなわち、現規格では、ユーザデータの分割を固定サイズから可変サイズに変更し、1 回の送信に1つのヘッダのみを付与する方式とした。
【００２０】
このように、ユーザデータの分割サイズを伝送レートに応じて可変長とすると、再送時の伝送レートが初送時の伝送レートより低下する場合に、初送時のサイズで再送できなくなる。この場合、元のAMD PDUを分割して送信することになり、再送時に元のAMD PDUを分割して送信するときは、新たなヘッダであるSegmentヘッダを付与したPDU（Segment-PDUと称する）として送信することで、初送時と再送時のAMD PDUを受信側で識別可能なものとしている。
【００２１】
図４は、現規格による再生制御の再生データ生成方法を説明する図である。図４では、現規格のAMD PDUの生成と再送について示す。ユーザデータを伝送レートに応じたサイズに切り出し、これにAMDヘッダを付与することで、AMD PDU を生成する。すでに伝送レートに応じたサイズとなっている為、そのままMAC PDUとして送信する。
【００２２】
受信側において、この送信データを正常に受信できなかった場合は、再送処理を行われる。再送処理では受信側で正常に受信されていないAMD PDUを要求するので、初送と同じデータの再送を要求する。しかし、伝送レートが初送時よりも低下すると、同じデータ（サイズ）の送信ができない。よって、初送時のAMD PDUを再送時の伝送レートに応じたサイズに更に分割し、Segment-PDUとして複数回に分けて送信する。図４の例では、このSegment-PDUを２回に分けて送信するものとなっている。受信側では、Segmentヘッダの有無により、再送されるデータが分割されていることを識別する。受信データがSegment-PDUである場合は、このSegment-PDUを組み合わせ、元の初送時のAMD PDUに変換した後、受信確認となる。
【非特許文献１】3GPP TS36.322 V8.0.0
【発明の開示】
【発明が解決しようとする課題】
【００２３】
このように、現規格では、再送時の複数のSegment-PDUから初送時の再送要求対象となったAMD PDUを生成するという新たな処理が必要となる。この組立処理を行うためには、Segment-PDUを全て受信（AMD PDUの組立が可能な状態）していることを判断する必要があるが、Segment-PDUの受信については、次のような問題が生じる。
【００２４】
第一に、Segment-PDUの受信順序が逆転する場合があり得ることである。本再送処理は、RLCレイヤによるものであるが、その前段のMACレイヤ部２２による再送制御が実施されると、RLCレイヤ部２１は、送信順にSegment-PDUを受信しない場合があり得る。その場合、Segment-PDUの受信順にAMD PDUを組み立てると、初送時のAMD PDUを正しく組み立てることができない。
【００２５】
第二に、同一のSegment-PDUを複数回受信する場合があり得ることである。例えば、図４に示したように、２個のSegment-PDUによる再送を実施した際、RLCレイヤ部２１による最初のSegment-PDUの受信が遅れた（MACレイヤにおける再送制御が発生したことによる）ことにより、RLCレイヤにおいて、さらに最初のSegment-PDUだけを再送要求することがある。そうすると、受信側のRLCレイヤ部２１では、最初のSegment-PDUを２回、２番目のSegment-PDUを１回受信する状態が起こり得る。このような状況下で、重複して受信する最初のSegment-PDUを先に受信した場合、第一の問題点と同様に、Segment-PDUの受信順にAMD PDUを組み立てると、初送時のAMD PDUを正しく組み立てることができない。
【００２６】
そこで、本発明の目的は、上記問題点を解決すべく、再送時において、初送時のAMD PDUが分割されて送信される場合、多様な無線環境において発生し得る全ての状態に対して、分割されたデータ（Segment-PDU）から正しく初送時のAMD PDUを組み立てることができる移動通信装置を提供することにある。
【課題を解決するための手段】
【００２７】
上記目的を達成するための本発明の移動通信装置は、初送時の元データ（AMD PDU）の再送データとして、前記元データを分割した複数の分割データ（Segment-PDU）を受信する移動通信装置において、前記再送データが前記分割データであるかどうか識別する識別部と、前記元データを構成する分割データすべてを受信したどうか判定する判定部と、前記判定部が、前記分割データすべて受信したと判定すると、前記分割データを組み合わせて前記元データを組み立てる組立部とを備える構成とする。
【００２８】
上記構成において、移動通信装置は、さらに、前記元データの１バイト単位のデータ部分位置に対応するフラグ領域を有するメモリを備え、前記判定部は、前記分割データの前記元データにおける位置に対応するフラグ領域に受信済み情報を書き込み、前記元データのデータ長に対応するフラグ領域すべてに受信済み情報が書き込まれると、前記分割データすべてを受信したと判定する。
【００２９】
または、移動通信装置は、前記元データの複数バイト単位のデータ部分位置に対応する複数のフラグ領域を有するメモリを備え、前記判定部は、前記分割データの前記元データにおける位置に対応するフラグ領域に受信済み情報を書き込み、前記元データのデータ長に対応するフラグ領域すべてに受信済み情報が書き込まれると、前記分割データすべてを受信したと判定する。
【００３０】
または、移動通信装置は、前記元データの１バイト単位のデータ部分位置に対応する複数の第一のフラグ領域と前記元データの複数バイト単位のデータ部分位置に対応する複数の第二のフラグ領域とを有するメモリを備え、前記判定部は、前記分割データが前記第二のフラグ領域のいずれか一つに対応するデータ部分すべてを含んでいる場合、該第二のフラグ領域に受信済み情報を書き込み、前記分割データが前記第二のフラグ領域のいずれか一つに対応するデータ部分の一部を含んでいる場合、該一部の前記元データにおける位置に対応する第一のフラグ領域に受信済み情報を書き込み、所定の第二のフラグ領域のデータ部分位置に対応するすべての第一のフラグ領域に受信済み情報が書き込まれると、該所定の第二のフラグ領域に受信済み情報を書き込み、前記元データのデータ長に対応する前記第二のフラグ領域すべてに受信済み情報が書き込まれると、前記分割データすべてを受信したと判定する。
【発明の効果】
【００３１】
本移動通信装置によれば、再送時において、初送時のAMD PDUが分割されて送信される場合、分割されたデータ（Segment-PDU）から正しく初送時のAMD PDUを組み立てることができる。
【発明を実施するための最良の形態】
【００３２】
以下、図面を参照して本発明の実施の形態について説明する。しかしながら、かかる実施の形態例が、本発明の技術的範囲を限定するものではない。
【００３３】
本実施の形態における移動通信装置は、Segment-PDUを受信した際に、元のAMD PDU（初送時のAMD PDU）のデータが全て受信済みとなったか否かを判断し、全て受信済みの場合に受信した複数のSegment-PDUを組み合わせてAMD PDUを生成する。受信側のメモリ上でAMD PDUの受信を１バイト単位又は複数バイト単位に監視し、すべてのデータの受信状況を管理する。
【００３４】
図５は、本実施の形態における移動通信装置の要部構成を示す図である。本実施の形態における移動通信装置は図１に示した受信装置２０であり、図５は、移動通信装置の要部構成として、受信装置２０のRLCレイヤ部２１におけるSegment-PDUの受信管理機能を実現する機能ブロックを示す。
【００３５】
RLCレイヤ部２１は、PDU識別部２１１、Segment-PDU受信判定部２１２、Segment-PDU受信管理メモリ２１３、Segment-PDU格納メモリ２１４、AMD PDU組立部２１５及びARQ処理部２１６を備える。各構成要素の動作について、図６のフローチャートを参照しつつ説明する。
【００３６】
図６は、本実施の形態におけるSegment-PDU受信管理処理のフローチャートである。PDU識別部２１１は、MACレイヤ部２０から送られてくるデータがAMD PDUであるかSegment-PDUであるかを判定する（S100）。判定は、Segmentヘッダの有無により判定する。AMD PDUの場合（Segmentヘッダが付加されていない場合）、PDU識別部２１１は、AMD PDUをそのままARQ処理部２１６に送る。ARQ処理部２１６は、受信したAMD PDUに対するACK/NACKの返信、必要に応じて再送要求を行い（ARQ処理）、ユーザデータ生成に必要なAMD PDUを全て正常受信すると、ユーザデータを生成して上位レイヤに送る（S118）。
【００３７】
S100において、Segment-PDUである場合（Segmentヘッダが付加されている場合）、PDU識別部２１１は、Segment-PDUをSegment-PDU受信判定部２１２に送る。Segment-PDU受信判定部２１２は、Segmentヘッダを解析する（S102）。Segmentヘッダには、元のAMD PDUの分割位置（先頭バイト番号）及びデータ長の情報が格納されており、該情報に基づいて、受信したSegment-PDUに含まれるデータが、元のAMD PDUのどの部分の範囲のデータであるかを判別することができる。例えば、１バイト(byte)単位でAMD PDUのデータ範囲を判別する。
【００３８】
Segment-PDU受信判定部２１２は、判別したAMD PDUのデータ範囲の情報（受信済み情報）をSegment-PDU受信管理メモリ２１３に書き込み（S104）、データ自体をSegment-PDU格納メモリ２１４に格納する（S106）。Segment-PDU格納メモリ２１４内では、AMD PDUに対するSegment-PDUの位置が識別可能に格納される。
【００３９】
図７は、Segment-PDU受信管理メモリ２１３への受信済み情報書き込み処理例を示す図である。図７の例では、１つのAMD PDU（３０バイト）が３つのSegment-PDUに分割されて再送される。Segment-PDU受信管理メモリ２１３は、該AMD PDUに対して１バイト単位のフラグ領域を有する。最初のSegment-PDUが元のAMD PDUの12バイト目から19バイト目までの８バイト分のデータである場合、対応するバイト位置のフラグ領域を受信済みとする。次に受信したSegment-PDUが元のAMD PDUの20バイト目から30バイト目までの11バイト分のデータである場合、対応するバイト位置のフラグ領域を受信済みとする。さらに３番目に受信したSegment-PDUが元のAMD PDUの１バイト目から11バイト目までの11バイト分のデータである場合、対応するバイト位置のフラグ領域を受信済みとする。こうして、すべてのフラグ領域が受信済みとなることで、元のAMD PDUに対応するデータ全て受信したことを認識することができる。
【００４０】
また、Segment-PDU格納メモリ２１４は、Segment-PDUのデータを元のAMD PDUのバイト位置に対応付けて格納する。
【００４１】
図６に戻り、Segment-PDU受信判定部２１２は、Segment-PDU受信管理メモリ２１３に１バイト単位の受信済み情報を書き込むと、全フラグ領域から受信済み情報を読み出し(S108)、元のAMD PDUのバイトデータ（１バイト単位のデータ）すべてが受信済みであるかどうか判定する（S110）。未受信のバイトデータがある場合は、次のSegment-PDUの受信を待つ。全バイトデータが受信済みである場合、Segment-PDU受信判定部２１２は、AMD PDU組立部２１５にAMD PDUの組み立てを指示する（S112）。
【００４２】
AMD PDU組立部２１５は、組立指示を受信すると、Segment-PDU格納メモリ２１４からSegment-PDUすべてを読み出し（S114）、各Segment-PDUのAMD PDUに対する位置に従って、元のAMD PDUを組み立て（S116）、ARQ処理部２１６に送る。
【００４３】
ARQ処理部２１６は、受信したAMD PDUに対するACK/NACKの返信、必要に応じて再送要求を行い（ARQ処理）、ユーザデータ生成に必要なAMD PDUを全て正常受信すると、ユーザデータを生成して上位レイヤに送る（S118）。
【００４４】
図８は、Segment-PDUの受信済み情報の書き込み（更新）処理（S104）のフローチャートである。Segment-PDU受信判定部２１２は、Segment-PDUを受信すると、Segmentヘッダから先頭バイトとデータ長を検出し（S200）、先頭バイトから１バイト単位に順番に受信済み情報を書き込むフラグ領域を決定する(S202)。決定されたフラグ領域に受信済み情報を書き込み（S204）、データ長分のすべてのデータに対応するフラグ領域への受信済み情報の書き込みが完了したかどうか判定し（S206）、未完了の場合は、S202に戻り、次のバイト番号に対応するフラグ領域へ受信済み情報を書き込み、データ長分のすべてのデータに対する受信済み情報の書き込みが完了するまで繰り返す。
【００４５】
図９は、元のAMD-PDUの全データ受信済み判定処理（S110）のフローチャートである。Segment-PDU受信判定部２１２は、元のAMD PDUのAMDヘッダより、元のAMD PDUのデータ長を検出し（S300）、Segment-PDU受信管理メモリ２１３の該データ長分のフラグ領域を順番に読み出す。具体的には、最初のフラグ領域から順番に読み出すフラグ領域を決定し（S302）、決定されたフラグ領域のデータを読み出す（S304）。
【００４６】
S306において、読み出したフラグ領域に受信済み情報が書き込まれていない場合は、元のAMD PDUの全データがまだ揃っていないことになるので、次以降のフラグ領域からのデータ読み出しは行わず、判定処理は終了する。読み出したフラグ領域に受信済み情報が書き込まれている場合は、さらにデータ長分すべてのフラグ領域のデータを読み出したかどうか判定し（S308）、そうでない場合は、S302に戻り、次のフラグ領域を読み出し、上記処理を繰り返す。途中、受信済み情報が書き込まれていないフラグ領域がある時点で、判定処理は終了する。データ長分すべてのフラグ領域に受信済み情報が書き込まれている場合は、AMD PDUの組み立てに必要なすべてのデータが受信されたと判定して、AMD PDU組立部２１５にAMD PDUの組み立てを指示する（S310）。図９の処理では、判定処理を１バイト単位に行うので、例えば、図７の例のように、AMD PDUが３０バイトである場合、Segment-PDU受信管理メモリ２１３に最大３０回アクセスする必要がある（最初のフラグ領域に受信済み情報が書き込まれていない場合は、その時点で全データ未受信と判定されるが、３０バイト目のみが未受信の場合、３０回アクセスして全データ未受信と判定される）。
【００４７】
上述した図８の受信済み情報書き込み処理及び図９の全データ受信済み判定処理は、バイト単位にSegment-PDU受信管理メモリ２１３へのアクセスされるため、元AMD-PDUのデータ長が長くなるほど、Segment-PDU受信管理メモリ２１３への最大アクセス回数が増え、処理に時間がかかる。そのため、以下に説明するように、Segment-PDU受信管理メモリ２１３のフラグ領域をグループ化し、グループ単位での受信済み情報の書き込み及び全データ受信済み判定を行うことで、処理の高速化を図る。
【００４８】
図１０は、Segment-PDU受信管理メモリ２１３のフラグ領域のグループ化を説明する図である。図７の例と同様に、１つのAMD PDU（３０バイト）が３つのSegment-PDUに分割されて再送される場合において、Segment-PDU受信管理メモリ２１３は、該AMD PDUに対して１バイト単位のフラグ領域を有するとともに、複数バイト（図１０では１０バイト）分のフラグ領域に対応する別のフラグ領域（グループフラグ領域、以下、グループと称する）を有する。図１０では、１バイト目から１０バイト目までのフラグ領域に対応するグループフラグ領域（グループ１）、１１バイト目から２０バイト目までのフラグ領域に対応するグループフラグ領域（グループ２）、２１バイト目から３０バイト目までのフラグ領域に対応するグループフラグ領域（グループ３）が設けられる。各グループに含まれる全フラグ領域分のデータを受信した場合に、グループに受信済み情報が書き込まれる。図１０の例では、図７の例と同様に、最初に、元のAMD PDUの12バイト目から19バイト目までの８バイト分のSegment-PDUを受信する。このとき、グループ２の全フラグ領域のデータを受信していないので、グループ２には、受信済み情報は書き込まれない（未受信）。２番目に、元のAMD PDUの20バイト目から30バイト目までの11バイト分のSegment-PDUを受信すると、グループ３の全フラグ領域のデータを受信するので、グループ３に受信済み情報が書き込まれる。グループ２に含まれるバイトデータ（２０バイト目）も受信するが、それでもまだグループ２の全フラグ領域のデータは揃っていないので、グループ２には、受信済み情報は書き込まれないままである。さらに３番目に、元のAMD PDUの１バイト目から11バイト目までの11バイト分のSegment-PDUを受信するものとすると、グループ１の全フラグ領域のデータを受信するので、グループ１に受信済み情報が書き込まれる。グループ１に受信済み情報が書き込まれる。さらに、11バイト目のデータも受信することで、グループ２の全フラグ領域のデータも揃うため、グループ２にも受信済み情報が書き込まれる。
【００４９】
全データ受信済み判定処理においては、複数バイト単位のグループの受信済み情報を読み出すことで、全データが受信済みであるかどうか判定可能となり、Segment-PDU受信管理メモリ２１３へのアクセス回数を削減でき、高速処理を可能とする。グループ単位における受信済み情報書き込み処理及び全データ受信済み判定処理について更に詳しく説明する。
【００５０】
図１１は、グループによるSegment-PDUの受信済み情報の書き込み処理のフローチャートである。Segment-PDU受信判定部２１２は、Segment-PDUを受信すると、Segmentヘッダから先頭バイトとデータ長を検出し（S400）、グループに受信済み情報が書き込めるかどうか判定する（S402）。すなわち、受信したSegment-PDUが所定のグループの全フラグ領域のデータを含んでいるかどうか判定する。図１０の例では、最初のSegment-PDU(12-19バイト)は、グループ２の全フラグ領域のデータを含んでおらず、２番目のSegment-PDU(20-30バイト)は、グループ３の全フラグ領域のデータを含んでおり、３番目のSegment-PDU(1-11バイト)は、グループ１の全フラグ領域のデータを含んでいる。
【００５１】
S404において、所定グループの全フラグ領域のデータを含んでいる場合は（図１０の例における２番目及び３番目のSegment-PDU）、S406の処理に進み、S404において、含んでいない場合は（図１０の例における最初のSegment-PDU）、S412の処理に進む。
【００５２】
Segment-PDUが複数のグループのうち少なくとも一つの全フラグ領域のデータを含んでいる場合は、そのグループを決定し（S406）、該グループに受信済み情報を書き込む(S408)。図１０の例における２番目のSegment-PDUを受信した場合は、グループ２が選択され、グループ２に受信済み情報が書き込まれ、３番目のSegment-PDUを受信した場合は、グループ１に受信済み情報が書き込まれる。このとき、受信済み情報が書き込まれるグループに対応するフラグ領域には、受信済み情報は書き込まれない。後述するように、全データ受信済み判定処理は、グループ単位で行われるため、フラグ領域を用いずにグループに受信済み情報を書き込める場合は、フラグ領域に書き込む必要はない。
【００５３】
別のグループにも受信済み情報を書き込むかどうか判定し（S410）、受信済み情報を書き込む別のグループがある場合は、S406に戻る。ない場合は、S412以降のバイト単位の書き込み処理に進む。
【００５４】
S412において、Segment-PDUに、バイト単位で受信済み情報を書き込むデータがあるかどうか判定する。図１０の例では、最初のSegment-PDUの全バイトデータ、２番目のSegment-PDUの２０バイト目のデータ（グループ２内のデータ）、３番目のSegment-PDUの１１バイト目のデータ（グループ２内のデータ）については、その受信済み情報はフラグ領域に書き込まれる。バイト単位で受信済み情報を書き込むデータがない場合は、処理は終了する。
【００５５】
バイト単位で受信済み情報を書き込むデータがある場合、受信済み情報を書き込むフラグ領域を決定する(S414)。決定されたフラグ領域に受信済み情報を書き込み（S416）、受信済み情報を書き込むべきすべてのデータに対応するフラグ領域への受信済み情報の書き込みが完了したかどうか判定する（S418）。未完了の場合は、S414に戻り、受信済み情報を書き込むべきすべてのデータに対する受信済み情報の書き込みが完了するまで繰り返す。
【００５６】
続いて、バイト単位で受信済み情報を書き込んだグループ（図１０の例では、グループ２）について、そのフラグ領域を順番に読み出す。具体的には、最初のフラグ領域から順番に読み出すフラグ領域を決定し（S420）、決定されたフラグ領域のデータを読み出す（S422）。S424において、読み出したフラグ領域に受信済み情報が書き込まれていない場合は、そのグループの全データがまだ揃っていないことになるので、次以降のフラグ領域からのデータ読み出しは行わず、処理は終了する。読み出したフラグ領域に受信済み情報が書き込まれている場合は、グループすべてのフラグ領域のデータを読み出したかどうか判定し（S424）、そうでない場合は、S420の処理に戻り、次のフラグ領域を読み出し、上記処理を繰り返す。途中、受信済み情報が書き込まれていないフラグ領域がある時点で、処理は終了する。グループの全フラグ領域に受信済み情報が書き込まれている場合は、該グループに受信済み情報を書き込む(S428)。
【００５７】
図１０の例では、グループ２領域に対して、最初のSegment-PDUの受信により、12-19バイト目のフラグ領域に受信済み情報を書き込み、２番目のSegment-PDUの受信により、20バイト目のフラグ領域に受信済み情報を書き込み、３番目のSegment-PDUの受信により、11バイト目のフラグ領域に受信済み情報を書き込むことで、グループ２の全フラグ領域に受信済み情報が書き込まれ、この時点でグループ２に受信済み情報が書き込まれる。
【００５８】
図１２は、グループによる元のAMD-PDUの全データ受信済み判定処理のフローチャートである。Segment-PDU受信判定部２１２は、元のAMD PDUのAMDヘッダに含まれる元のAMD PDUのバイト数（データ長）に基づいてグループの数を検出する（S500）。１グループに含まれるフラグ領域の数はあらかじめ決められる。Segment-PDU受信管理メモリ２１３の各グループ領域を順番に読み出す。具体的には、読み出すグループを一つ決定し（S502）、決定されたグループのデータを読み出す（S504）。
【００５９】
S506において、読み出したグループに受信済み情報が書き込まれていない場合は、元のAMD PDUの全データがまだ揃っていないことになるので、次以降のグループからのデータ読み出しは行わず、判定処理は終了する。読み出したグループに受信済み情報が書き込まれている場合は、さらにすべてのグループのデータを読み出したかどうか判定し（S508）、そうでない場合は、S502に戻り、次のグループを読み出し、上記処理を繰り返す。途中、受信済み情報が書き込まれていないグループがある時点で、判定処理は終了する。すべてのグループに受信済み情報が書き込まれている場合は、AMD PDUの組み立てに必要なすべてのデータが受信されたと判定して、AMD PDU組立部２１５にAMD PDUの組み立てを指示する（S510）。
【００６０】
図１０の例では、グループの数は３であるので、３回の読み出し処理で判定処理が可能となり、バイト単位で読み出す場合と比較して、判定処理に必要な最大読み出し処理回数を削減し、高速処理が実現される。１グループに含まれるフラグ領域の数は、適宜決めてよいが、その数が多いほど、判定処理はより高速化できるが、図１１に示した受信済み情報の書き込み処理において、バイト単位での受信済み情報を書き込むことなく、グループ領域の受信済み情報を書き込む可能性が低くなるため、AMD PDUのサイズに応じて、最適な大きさを設定する。
【００６１】
こうして、Segment-PDUを全て受信（AMD PDUの組立が可能な状態）していることを判断する事が可能となり、再送されたSegment-PDUから元のAMD PDUを正しく組み立てることができるようになる。
【００６２】
さらに、Segment-PDU受信管理メモリ２１３における受信済み情報は、AMD PDUを正しく組み立てるためのほかに、例えば、再送によってもAMD PDUを組み立てられない場合に、再々送を送信側に要求する場合、AMD PDUすべてのデータを再々送するのではなく、未受信のデータのみを再度Segment-PDUとして送信するよう要求するのに用いることもできる。これにより、再々送において、受信済みのデータの重複した送信をなくすことができ、伝送レートの向上が図られる。
【００６３】
また、本実施の形態例は、無線通信のプロトコルレイヤを構成するレイヤ２に属するRLCレイヤにおけるAMD PDUの再送制御における処理に限られず、初送と再送とでデータの送信サイズが変化する再送制御（特に、再送時に、初送時のデータが分割されて送信される場合の再送制御）に適用可能である。
【図面の簡単な説明】
【００６４】
【図１】レイヤ２における再送制御を説明する図である。
【図２】旧規格による再生制御の再送データ生成方法について説明する図である。
【図３】現規格のAMD PDUのデータフォーマットを説明する図である。
【図４】現規格による再生制御の再生データ生成方法を説明する図である。
【図５】本実施の形態における移動通信装置の要部構成を示す図である。
【図６】本実施の形態におけるSegment-PDU受信管理処理のフローチャートである。
【図７】Segment-PDU受信管理メモリ２１３への受信済み情報書き込み処理例を示す図である。
【図８】Segment-PDUの受信済み情報の書き込み処理（S104）のフローチャートである。
【図９】元のAMD-PDUの全データ受信済み判定処理（S110）のフローチャートである。
【図１０】Segment-PDU受信管理メモリ２１３のフラグ領域のグループ化を説明する図である。
【図１１】グループによるSegment-PDUの受信済み情報の書き込み処理のフローチャートである。
【図１２】グループによる元のAMD-PDUの全データ受信済み判定処理のフローチャートである。
【符号の説明】
【００６５】
１０：送信側装置、１１：RLCレイヤ部、１２、MACレイヤ部、１３：送信無線部、２０：受信側装置、２１：RLCレイヤ部、２２：MACレイヤ部、２３：受信無線部、２１１：PDU識別部、２１２：Segment-PDU受信判定部、２１３：Segment-PDU受信管理メモリ、２１４：Segment-PDU格納メモリ、２１５：AMD PDU組立部、２１６：ARQ処理部
【図１】
2010068442.tif 000003
【図２】
2010068442.tif 000004
【図３】
2010068442.tif 000005
【図４】
2010068442.tif 000006
【図５】
2010068442.tif 000007
【図６】
2010068442.tif 000008
【図７】
2010068442.tif 000009
【図８】
2010068442.tif 000010
【図９】
2010068442.tif 000011
【図１０】
2010068442.tif 000012
【図１１】
2010068442.tif 000013
【図１２】
2010068442.tif 000014