(57)【特許請求の範囲】
【請求項１】
２β＋α（ただし、βは正の整数、αは２の倍数でない正の整数）の形式で表現される所定整数に１から２βまでの整数をそれぞれ乗じて得た乗算値を前記２βで除算して得られた前記乗算値ごとの商及び剰余を、該乗算値に対応付けて記憶する記憶部と、
送信側の通信装置から受信したパケットデータのデータ長を被除算数として設定する被除算数設定部と、
前記被除算数設定部によって前記被除算数が設定されると、前記被除算数を前記２βで除算した商及び剰余を算出する除算部と、
前記除算部によって算出された剰余に対応する商を前記記憶部から取得し、取得した商を前記除算部によって算出された商から減算した減算値が前記所定整数より大であるか否かを判定する減算値判定部と、
前記減算値判定部によって前記減算値が前記所定整数より大でないと判定された場合に、前記除算部によって算出された商及び剰余の組み合わせが前記記憶部に存在すると、前記パケットデータのデータ長が正常であると判定するデータ長判定部と
を有し、
前記被除算数設定部は、前記減算値判定部によって前記減算値が前記所定整数より大であると判定された場合には、前記減算値を前記被除算数として設定する
ことを特徴とする通信装置。
【請求項２】
前記所定整数に１から２βまでの整数をそれぞれ乗じて得た乗算値を前記２βで除算して商及び剰余を算出する算出部をさらに有し、
前記記憶部は、前記算出部によって算出された前記乗算値ごとの商及び剰余を該乗算値に対応付けて記憶することを特徴とする請求項１に記載の通信装置。
【請求項３】
各通信装置は、自装置が起動された時に、前記算出部が、前記乗算値ごとの商及び剰余を算出し、該乗算値に対応付けて前記記憶部に記憶することを特徴とする請求項１又は請求項２に記載の通信装置。
【請求項４】
複数の前記所定整数の候補値を書き換え可能に記憶するレジスタ部と、
前記パケットデータのヘッダ情報から得られる前記パケットデータのデータ長の種別に応じて、前記レジスタ部によって記憶される複数の前記所定整数の候補値から一の候補値を選択して前記所定整数とする候補値選択部と
をさらに有することを特徴とする請求項１から請求項３のいずれか１つに記載の通信装置。
【請求項５】
２β＋α（ただし、βは正の整数、αは２の倍数でない正の整数）の形式で表現される所定整数に１から２βまでの整数をそれぞれ乗じて得た乗算値を前記２βで除算して得られた前記乗算値ごとの商及び剰余を、該乗算値に対応付けて記憶部に記憶する記憶ステップと、
送信側の通信装置から受信したパケットデータのデータ長を被除算数として設定する被除算数設定ステップと、
前記被除算数設定ステップによって前記被除算数が設定されると、前記被除算数を前記２βで除算した商及び剰余を算出する除算ステップと、
前記除算ステップによって算出された剰余に対応する商を前記記憶部から取得し、取得した商を前記除算ステップによって算出された商から減算した減算値が前記所定整数より大であるか否かを判定する減算値判定ステップと、
前記減算値判定ステップによって前記減算値が前記所定整数より大でないと判定された場合に、前記除算ステップによって算出された商及び剰余の組み合わせが前記記憶部に存在すると、前記パケットデータのデータ長が正常であると判定するデータ長判定ステップとを含み、
前記被除算数設定ステップは、前記減算値判定ステップによって前記減算値が前記所定整数より大であると判定された場合には、前記減算値を前記被除算数として設定する
ことを特徴とする受信データ長判定方法。
【請求項６】
２β＋α（ただし、βは正の整数、αは２の倍数でない正の整数）の形式で表現される第二の整数に１から２βまでの整数をそれぞれ乗じて得た乗算値を前記２βで除算して得られた前記乗算値ごとの商及び剰余を、該乗算値に対応付けて記憶する記憶部と、
第一の整数を被除算数として設定する被除算数設定部と、
前記被除算数設定部によって前記被除算数が設定されると、前記被除算数を前記２βで除算した商及び剰余を算出する除算部と、
前記除算部によって算出された剰余に対応する商を前記記憶部から取得し、取得した商を前記除算部によって算出された商から減算した減算値が前記所定整数より大であるか否かを判定する減算値判定部と、
前記減算値判定部によって前記減算値が前記所定整数より大でないと判定された場合に、前記除算部によって算出された商及び剰余の組み合わせが前記記憶部に存在すると、前記第一の整数が前記第二の整数の倍数であると判定する倍数判定部とを有し、
前記被除算数設定部は、前記減算値判定部によって前記減算値が前記第二の整数より大であると判定された場合には、前記減算値を前記被除算数として設定する
ことを特徴とする倍数判定回路。
【請求項７】
通信装置において用いられる受信データ長判定プログラムであって、
２β＋α（ただし、βは正の整数、αは２の倍数でない正の整数）の形式で表現される所定整数に１から２βまでの整数をそれぞれ乗じて得た乗算値を前記２βで除算して得られた前記乗算値ごとの商及び剰余を、該乗算値に対応付けて記憶部に記憶する記憶手順と、
送信側の通信装置から受信したパケットデータのデータ長を被除算数として設定する被除算数設定手順と、
前記被除算数設定手順によって前記被除算数が設定されると、前記被除算数を前記２βで除算した商及び剰余を算出する除算手順と、
前記除算手順によって算出された剰余に対応する商を前記記憶部から取得し、取得した商を前記除算手順によって算出された商から減算した減算値が前記所定整数より大であるか否かを判定する減算値判定手順と、
前記減算値判定手順によって前記減算値が前記所定整数より大でないと判定された場合に、前記除算手順によって算出された商及び剰余の組み合わせが前記記憶部に存在すると、前記パケットデータのデータ長が正常であると判定するデータ長判定手順と
をコンピュータに実行させ、
前記被除算数設定手順は、前記減算値判定手順によって前記減算値が前記所定整数より大であると判定された場合には、前記減算値を前記被除算数として設定する
ことを特徴とする受信データ長判定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置、受信データ長判定方法、倍数判定回路及び受信データ長判定プログラムに関する。
【背景技術】
【０００２】
従来から、携帯電話無線通信網等のデータを送受信する携帯電話等の通信装置では、レイヤ間通信（下りＭＡＣ−ＲＬＣ間通信）において可変長の受信パケットの受信データの正常性を確認するために、受信パケットのヘッダを除く部分の受信データ長がレイヤ間で予め規定されているパケット固有の長さの規則性に基づき、パケット固有の長さの整数倍であるか否かの倍数判定を行う。そのため、通信装置は、受信データ長を規定したデータ長で除算する剰余演算処理を行い、剰余が零である場合には規定したデータ長の整数倍であることを確認する。
【０００３】
例えば、レイヤ間で規定した被演算値が２の累乗である場合には、通信装置は、シフト演算を用いて、剰余演算処理を行う技術が開示されている。すなわち、通信装置は、２進数で表現される受信データ長のデータビット列の中で、２進数で表現される被演算値の最上位桁より下位にある桁に示される値が剰余であるので、当該データビット列を被演算値の最上位桁数―１だけ右シフト演算して剰余を算出する。そして、通信装置は、算出した剰余が零である場合には、受信データが被演算値の整数倍であることを確認する。
【０００４】
また、レイヤ間で規定した被演算値が２の累乗でない場合には、通信装置は、シフト演算を適用できないので、受信データ長から被演算値を減算することを繰り返し、最終的な剰余を算出し、受信データが被演算値の整数倍であるか否かを判定する。さらに、他の技術として、通信装置は、レイヤ間で規定した被演算値の各倍数値を固定パターンとしてあらかじめ保持し、保持した固定パターンと受信データ長とを逐次比較することにより、受信データが被演算値の整数倍であるか否かを判定する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平８−２０２５３４号公報
【特許文献２】特開平８−３６４８３号公報
【特許文献３】特開平１０−３０７７０７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、レイヤ間で規定した被演算値が２の累乗でない場合には、通信装置は、受信データ長が被演算値の整数倍であるか否かの倍数判定を、高速に行うことができないという問題がある。すなわち、通信装置は、受信データ長から被演算値を減算する動作を、剰余を算出するまで繰り返し実行する。このため、通信装置は、受信データ長が長いほど、または、被演算値が小さいほど、減算回数が多くなり、処理速度が大幅に低下する。また、通信装置は、あらかじめ保持した被演算値の各倍数値と受信データ長とを逐次比較するので、比較回数が多くなり、処理速度が低下する。
【０００７】
開示の技術は、上記に鑑みてなされたものであって、レイヤ間で規定した被演算値が２の累乗でない場合であっても、受信データ長が被演算値の整数倍であるか否かの倍数判定を高速に行うことができる通信装置、受信データ長判定方法、倍数判定回路及び受信データ長判定プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本願の開示する通信装置は、２β＋α（ただし、βは正の整数、αは２の倍数でない正の整数）の形式で表現される所定整数に１から２βまでの整数をそれぞれ乗じて得た乗算値を前記２βで除算して得られた前記乗算値ごとの商及び剰余を、該乗算値に対応付けて記憶する記憶部と、送信側の通信装置から受信したパケットデータのデータ長を被除算数として設定する被除算数設定部と、前記被除算数設定部によって前記被除算数が設定されると、前記被除算数を前記２βで除算した商及び剰余を算出する除算部と、前記除算部によって算出された剰余に対応する商を前記記憶部から取得し、取得した商を前記除算部によって算出された商から減算した減算値が前記所定整数より大であるか否かを判定する減算値判定部と、前記減算値判定部によって前記減算値が前記所定整数より大でないと判定された場合に、前記除算部によって算出された商及び剰余の組み合わせが前記記憶部に存在すると、前記パケットデータのデータ長が正常であると判定するデータ長判定部とを有し、前記被除算数設定部は、前記減算値判定部によって前記減算値が前記所定整数より大であると判定された場合には、前記減算値を前記被除算数として設定する。
【発明の効果】
【０００９】
本願の開示する通信装置の一つの態様によれば、所定整数が２の累乗（「２β」）でない場合であっても、受信データのデータ長が所定整数の整数倍であるか否かの倍数判定を高速に行うことができるという効果を奏する。
【図面の簡単な説明】
【００１０】
【図１】図１は、実施例１に係る通信装置の構成を示す機能ブロック図である。
【図２】図２は、実施例２に係る通信装置の構成を示す機能ブロック図である。
【図３】図３は、実施例２に係る通信装置のパケット受信制御部の構成を示す機能ブロック図である。
【図４】図４は、パケットのデータ長の倍数規則テーブルのデータ構造の一例を示す図である。
【図５】図５は、減算パターンテーブルのデータ構造の一例を示す図である。
【図６】図６は、７の倍数規則判定の場合の減算パターンテーブルのデータ構造の一例を示す図である。
【図７】図７は、１３の倍数規則判定の場合の減算パターンテーブルのデータ構造の一例を示す図である。
【図８】図８は、実施例２に係る減算パターン生成処理手順を示すフローチャートである。
【図９】図９は、実施例２に係るパケット判定処理手順を示すフローチャートである。
【図１０】図１０は、実施例２に係る携帯端末装置の適用例を示すシーケンス図である。
【図１１】図１１は、実施例２に係るパケット判定処理が適用可能な数値例を示す図である。
【発明を実施するための形態】
【００１１】
以下に、本願の開示する通信装置、受信データ長判定方法、倍数判定回路及び受信データ長判定プログラムの実施例を図面に基づいて詳細に説明する。なお、以下の実施例では、無線又は有線によって他の通信装置と通信データを送受信する通信装置に適用した場合を示す。しかし、本実施例によりこの発明が限定されるものではなく、本発明は、通信装置から他の通信装置へ、無線又は有線による通信データを中継する際に、パケットを用いてデジタル処理する通信中継装置に広く適用可能であるし、携帯端末装置にも適用可能である。
【実施例１】
【００１２】
図１は、本実施例１に係る通信装置の構成を示す機能ブロック図である。図１に示すように、通信装置１は、記憶部１１、被除算数設定部１２、除算部１３、減算値判定部１４、及びデータ長判定部１５を有する。かかる通信装置１は、送信側の通信装置から受信したパケットデータのデータ長が、２β＋αの形式で表現される所定整数の倍数であるか否かを判定することによって、パケットデータのデータ長が正常であるか否かを判定する。ただし、βは、正の整数、且つαは２の倍数でない正の整数であるものとする。
【００１３】
記憶部１１は、２β＋αの形式で表現される所定整数に１から２βまでの整数をそれぞれ乗じて得た乗算値を２βで除算し、この除算して得られた乗算値ごとの商及び剰余を、該乗算値に対応付けて記憶する。すなわち、記憶部１１は、受信したパケットデータのデータ長が所定整数の倍数であれば、２βで除算された場合に最終結果として算出される商及び剰余の組み合わせを記憶する。
【００１４】
被除算数設定部１２は、受信したパケットデータのデータ長を被除算数として設定する。除算部１３は、被除算数設定部１２によって被除算数が設定されると、被除算数を２βで除算した商及び剰余を算出する。
【００１５】
減算値判定部１４は、除算部１３によって算出された剰余に対応する商を記憶部１１から取得し、取得した商を除算部１３によって算出された商から減算した減算値が所定整数より大であるか否かを判定する。ここで、減算値判定部１４によって減算値が所定整数より大であると判定された場合には、被除算数設定部１２は、この減算値を被除算数として設定する。そして、除算部１３は、被除算数設定部１２によって被除算数が設定されると、被除算数を２βで除算した商及び剰余を算出する。
【００１６】
データ長判定部１５は、減算値判定部１４によって減算値が所定整数より大でないと判定された場合に、除算部１３によって算出された商及び剰余の組み合わせが記憶部１１に存在していると、パケットデータのデータ長が正常であると判定する。
【００１７】
このようにして、通信装置１は、パケットデータのデータ長について所定整数の倍数判定をする際、被除算数を２βで除算された剰余と、記憶部１１における所定整数に正の整数を乗じて得た乗算値を２βで除算して得られた剰余が一致するので、以下の式が成立する。
減算値＝（被除算数−（所定整数に正の整数を乗じて得た乗算値））／２β・・式（１）
式（１）によって、通信装置１は、被除算数から所定整数に正の整数を乗じて得た乗算値を一度に減算し、さらに減算値について所定整数の倍数判定をするので、当該倍数判定を高速にできる。しかも、通信装置１は、除算数を２βとすることにより、シフト演算を用いることができ、剰余を高速に演算できる。その結果、通信装置１は、パケットデータのデータ長が所定整数の倍数であるか否かの判定をさらに高速にできる。
【実施例２】
【００１８】
［実施例２に係る通信装置の構成］
図２は、実施例２に係る通信装置間で送受信されるパケットを中継する中継用の通信装置の構成について説明する。図２は、実施例２に係る通信装置の構成を示す機能ブロック図である。同図に示すように、実施例２に係る通信装置２は、通信装置３ａと通信装置３ｂとの間で送受信されるパケットを中継する。
【００１９】
通信装置２は、パケット処理部２０と、パケット処理部３０と、制御部４０とを有する。パケット処理部２０は、通信装置３ａから受信したパケットを中継して通信装置３ｂへと送信する。同様に、パケット処理部３０は、通信装置３ｂから受信したパケットを中継して通信装置３ａへと送信する。
【００２０】
パケット処理部２０は、パケット受信制御部２１と、パケット処理制御部２２と、パケット送信制御部２３とを有する。パケット受信制御部２１は、通信装置３ａからパケットを受信し、ヘッダ情報からパケット長倍数規則に関する情報を取得する。ここで、パケット長倍数規則とは、受信パケットのヘッダを除く長さの実パケット長が、例えば５の倍数であるという規則性を指す。また、パケット受信制御部２１は、パケット長倍数規則に基づいて、受信パケットのパケット長の倍数規則性を判定する。また、パケット受信制御部２１は、判定結果が「受信パケットのパケット長が正常である」場合には、受信パケットをパケット処理部２２へと伝送する。一方、パケット受信制御部２１は、判定結果が「受信パケットのパケット長が正常でない」場合には、受信パケットを破棄する処理を行う。なお、かかる倍数規則判定については、後に詳述する。
【００２１】
パケット処理制御部２２は、パケット受信制御部２１から伝送された受信パケットに応じて、制御部４０とともにパケットの分解／組み立て等の制御を行い、制御されたパケットをパケット送信制御部２３へと伝送する。パケット送信制御部２３は、パケット処理制御部２２から伝送されたパケットを、送信パケットとして、通信装置３ｂへ送信する。なお、パケット処理部３０もパケット処理部２０と同様の構成及び機能を有し、同様の処理を行うため、説明を省略する。
【００２２】
制御部４０は、パケット処理制御部２２の指示に応じて、受信パケットの順序制御又は再送制御を行い、制御されたパケットをパケット処理制御部２２へ伝送する。
【００２３】
［実施例２に係る通信装置のパケット受信制御部の構成］
次に、図２に示したパケット受信制御部の構成について説明する。図３は、実施例２に係る通信装置のパケット受信制御部の構成を示す機能ブロック図である。実施例２に係る通信装置２のパケット受信制御部２１は、パケット受信部２１０と、パケット判定処理部２２０と、廃棄判定処理部２３０とを有する。
【００２４】
パケット受信部２１０は、受信パケットを、廃棄判定処理部２３０へ伝送する。また、パケット受信部２１０は、受信パケットのヘッダ情報からパケット長及び後述するパケット長倍数規則種別を抽出し、パケット判定処理部２２０へ伝送する。また、パケット受信部２１０は、受信パケットの実際のパケット長を計測し、計測した実パケット長をパケット判定処理部２２０へ伝送する。なお、実パケット長とは、受信パケットのヘッダを除く長さを指す。
【００２５】
パケット判定処理部２２０は、ヘッダ情報判定処理部２２１と、除算処理部２２２と、データ長判定部２２３と、減算パターン生成部２２４と、記憶部２２５とを有する。また、記憶部２２５は、パケット長倍数テーブル２２５ａと、減算パターンテーブル２２５ｂとを有する。なお、記憶部２２５は、レジスタ等の記憶素子であるが、これに限定されず、例えば、ＲＡＭ（Random Access Memory）、フラッシュメモリ（flash memory）等の半導体メモリ素子、又は、ハードディスク、光ディスク等の記憶装置であっても良い。
【００２６】
ここで、パケット長倍数規則テーブル２２５ａについて図４を参照しながら説明する。図４は、パケットのデータ長の倍数規則テーブルのデータ構造の一例を示す図である。図４に示すように、倍数規則テーブル２２５ａは、倍数規則値２２５ａ２をパケット長倍数規則識別種別２２５ａ１に対応付けて記憶する。パケット長倍数識別種別２２５ａ１は、パケット長倍数規則性に基づく識別種別を示す。倍数規則値２２５ａ２は、パケット長倍数識別種別２２５ａ１に対応した倍数規則値を示す。図４の例では、パケット長倍数識別種別２２５ａ１は、「０」、「１」及び「２」の値によって区別される。パケット長倍数識別種別２２５ａ１が「０」であれば、パケット長倍数規則性が「２の累乗＋α」（αは２の倍数でない正の整数）であることを示す。そして、倍数規則値２２５ａ２が「Ｚ＝２β＋α」（βは正の整数、αは２の倍数でない正の整数）の形式で表現される。かかる「Ｚ＝２β＋α」の「２β」は、「２の累乗基数値」といい、「２β＋α」未満で最も大きい２の累乗値を示す。また、パケット長倍数識別種別２２５ａ１が「１」であれば、パケット長倍数規則性が「２の累乗の倍数」であることを示し、倍数規則値２２５ａ２が「Ｚ＝２β」（βは正の整数）の形式で表現される。パケット長倍数規則種別が「２」であれば、パケット長倍数規則性が「固定長」であることを示し、倍数規則値２２５ａ２が「Ｚ」（Ｚは正の整数）の形式で表現される。
【００２７】
また、減算パターンテーブル２２５ｂについて図５〜図７を参照しながら説明する。図５は、「２の累乗＋α」の倍数規則判定の場合の減算パターンテーブルのデータ構造の一例を示す図である。また、図６は、「２の累乗＋α」を「７」とした７の倍数規則判定の場合、図７は、「２の累乗＋α」を「１３」とした１３の倍数規則判定の場合の減算パターンテーブルのデータ構造の一例を示す図である。
【００２８】
図５に示すように、減算パターンテーブル２２５ｂは、「２β＋α」の形式で表現される所定整数に１から「２の累乗基数値」（２β）までの整数をそれぞれ乗じて得た乗算値を求める。そして、減算パターンテーブル２２５ｂは、各乗算値を除算値２βで除算して得られた乗算値ごとの商及び剰余を、その乗算値に対応付けて記憶する。すなわち、減算パターンテーブル２２５ｂは、受信パケットの実パケット長が所定整数の倍数であれば、２βで除算された場合に最終結果として算出される商及び剰余の組み合わせを記憶する。ここで、所定整数とは、受信パケットのヘッダ情報に含まれるパケット長を意味する。
【００２９】
例えば、所定整数が「７」である場合には、「２β＋α」が「７」であり、２βは「２β＋α」未満で最も大きい２の累乗値であるので、２βは「２２＝４」となる。また、「７」に「１」から「４」までの整数をそれぞれ乗じて得た乗算値を「４」で除算して得られた商（１、３、５、７）及び剰余（３、２、１、０）を乗算値（７、１４、２１、２８）ごとに記憶する。すなわち、「７」の倍数規則判定の場合、受信パケットの実パケット長が「７」の倍数であれば、実パケット長が「４」で繰り返し除算された最終結果として算出される商及び剰余の組み合わせは、（１、３）、（３、２）、（５、１）、（７、０）となる。
【００３０】
また、図７に示すように、所定整数「１３」の倍数規則判定の場合には、「２β＋α」が「１３」であり、２βは「２３＝８」となる。また、「１３」に「１」から「８」までの整数をそれぞれ乗じて得た乗算値を「８」で除算して得られた商（１、３、４・・・）及び剰余（５、２、７・・・）を乗算値（１３、２６、３９・・・）ごとに記憶する。すなわち、「１３」の倍数規則判定の場合、受信パケットの実パケット長が「１３」の倍数であれば、実パケット長が「８」で繰り返し除算された最終結果として算出される商及び剰余の組み合わせは、（１、５）、（３、２）・・・となる。なお、減算パターンテーブル２２５ｂは、所定整数、すなわちヘッダ情報に含まれ得るパケット長ごとに、後述する減算パターン生成部２２４によって生成される。
【００３１】
減算パターン生成部２２４は、「２β＋α」の形式で表現される所定整数に「１」から２βまでの整数をそれぞれ乗じて得た乗算値を２βで除算して得られた、乗算値ごとの商及び剰余を算出する。また、減算パターン生成部２２４は、算出した乗算値ごとの商及び剰余を該乗算値に対応付けて減算パターンテーブル２２５ｂに格納し、減算パターンテーブル２２５ｂを生成する。なお、減算パターンテーブル２２５ｂは、自通信装置２の起動時の初期化処理で生成されることが望ましい。
【００３２】
ヘッダ情報判定処理部２２１は、パケット受信部２１０から伝送されたパケット長倍数識別種別に基づき、受信パケットが、「２の累乗でない倍数規則性を有するパケット」か、「２の累乗の倍数規則性を有するパケット」か、を判定する。また、ヘッダ情報判定処理部２２１は、いずれのパケットでもない場合には、受信パケットのパケット長が、「固定長であるパケット」であるかを判定する。例えば、ヘッダ情報判定処理部２２１は、パケット長倍数規則種別が「０」であれば、「２の累乗でない倍数規則性を有するパケット」と判定する。ヘッダ情報判定処理部２２１は、パケット長倍数規則種別が「１」であれば、「２の累乗の倍数規則性を有するパケット」と判定する。ヘッダ情報判定処理部２２１は、パケット長倍数規則種別が「２」であれば、「固定長であるパケット」と判定する。
【００３３】
除算処理部２２２は、被除算数設定部２２２ａと、除算部２２２ｂと、減算値判定部２２２ｃとを有する。被除算数設定部２２２ａは、被除算数に初期値として受信パケットのパケット長を設定する。具体的には、被除算数設定部２２２ａは、ヘッダ情報判定処理部２２１から伝送される実パケット長を被除算数として割り当てられた変数Ｕに設定する。
【００３４】
除算部２２２ｂは、被除算数設定部２２２ａによって被除算数に値が設定されると、被除算数を除算値２βで除算した商及び剰余を算出する。具体的には、除算部２２２ｂは、ヘッダ情報判定処理部２２１からパケット長倍数識別種別及びパケット長を取得する。また、除算部２２２ｂは、取得したパケット長倍数識別種別に応じて、倍数規則テーブル２２５ａに記憶される複数の倍数規則値２２５ａ２から一の倍数規則値を選択して所定整数とする。すなわち、除算部２２２ｂは、取得したパケット長倍数識別種別が「０」である場合には、パケット長倍数識別種別２２５ａ１が「０」に対応する倍数規則値２２５ａ２「Ｚ＝２β＋α」を読み出す。そして、除算部２２２ｂは、ヘッダ情報判定処理部２２１から取得したパケット長を、「２β＋α」の形式で表現される所定整数とする。なお、βは正の整数、αは２の倍数でない正の整数である。
【００３５】
また、除算部２２２ｂは、Ｚに所定整数を代入し、「Ｚ−α＝２β」（Ｚからαを減算した値）を変数Ｖに設定する。また、除算部２２２ｂは、変数Ｕを変数Ｖで除算した商Ｎ及び剰余Ｍを算出する。
【００３６】
減算値判定部２２２ｃは、除算部２２２ｂによって算出された剰余に対応する商を減算パターンテーブル２２５ｂから取得し、取得した商を除算部２２２ｂによって算出された商から減算し、減算値を算出する。また、減算値判定部２２２ｃは、算出した減算値が所定整数より大であるか否かを判定する。具体的には、所定整数を倍数規則値Ｚ（２β＋α）とすると、減算値判定部２２２ｃは、減算パターンテーブル２２５ｂから除算部２２２ｂによって算出された剰余Ｍと一致する余りＭＰ（Ｐ＝１〜Ｘの整数）に対応する商ＮＰを読み出す。そして、減算値判定部２２２ｃは、読み出した商ＮＰを商Ｎから減算し、減算値（Ｎ−ＮＰ）を算出する。また、減算値判定部２２２ｃは、減算値（Ｎ−ＮＰ）が倍数規則値Ｚ（２β＋α）以上であるか否かを判定する。
【００３７】
被除算数設定部２２２ａは、減算値判定部２２２ｃによって減算値が所定整数より大であると判定された場合には、減算値を被除算数に設定する。具体的には、所定整数を倍数規則値Ｚ（２β＋α）とすると、被除算数設定部２２２ａは、減算値（Ｎ−ＮＰ）が倍数規則値Ｚ以上であると判定された場合には、減算値から倍数規則値を減算できるので、減算値（Ｎ−ＮＰ）を変数Ｕに設定する。
【００３８】
データ長判定部２２３は、減算値判定部２２２ｃによって減算値が所定整数より大でないと判定された場合には、除算部２２２ｂによって算出された商及び剰余の組み合わせが減算パターンテーブル２２５ｂに存在するか否かを判定する。データ長判定部２２３は、その判定結果に基づき、受信パケットのデータ長の正常性を判定する。具体的には、データ長判定部２２３は、減算値（Ｎ−ＮＰ）が倍数規則値Ｚ以上でないと判定された場合には、商Ｎ及び剰余Ｍの組み合わせが減算パターンテーブル２２５ｂの商２２５ｂ２及び余り２２５ｂ３の組み合わせと一致するか否かを判定する。そして、データ長判定部２２３は、一致すると判定すると、「受信データのデータ長が正常である」と判断する。一方、データ長判定部２２３は、一致しないと判定すると、「受信データのデータ長が正常でない」と判断する。そして、データ長判定部２２３は、判定結果を廃棄判定処理部２３０へ通知する。
【００３９】
廃棄判定処理部２３０は、データ長判定部２２３から通知された判定結果が「受信データのデータ長が正常である」場合は、パケット受信部２１０から伝送された受信パケットを、パケット処理制御部２２へ伝送する。また、廃棄判定処理部２３０は、データ長判定部２２３から通知された判定結果が「受信データのデータ長が正常でない」場合は、パケット受信部２１０から伝送された受信パケットを廃棄する。
【００４０】
［実施例２に係る減算パターン生成処理の動作］
次に、実施例２に係る減算パターン生成処理について説明する。図８は、実施例２に係る減算パターン生成処理手順を示すフローチャートである。なお、パケット長の倍数規則値が「２β＋α」（ただし、βは正の整数、αは２の倍数でない正の整数）である場合の減算パターン生成処理を行うものとする。
【００４１】
まず、通信装置２の運用が開始される前に、減算パターン生成部２２４は、外部から減算パターン生成処理の起動指令を取得すると、インデックスｉに初期値「１」を設定する（ステップＳ１１）。次に、減算パターン生成部２２４は、インデックスｉの値が２β（「２の累乗基数値」）以下であるか否かを判定する（ステップＳ１２）。そして、インデックスｉの値が２β以下でない場合には（ステップＳ１２、Ｎｏ）、減算パターン生成部２２４は、終了する。
【００４２】
一方、インデックスｉの値が２β以下である場合には（ステップＳ１２、Ｙｅｓ）、減算パターン生成部２２４は、（２β＋α）にインデックスｉの値を乗じて得た乗算値を２の累乗Ｘで除算する。そして、減算パターン生成部２２４は、除算結果である商及び剰余を、ワークメモリに記憶する変数であるＮ、Ｍそれぞれに設定する（ステップＳ１３）。なお、剰余は、ｍｏｄ演算によって算出する。
【００４３】
次に、減算パターンテーブル生成部２２４は、Ｎ及びＭを乗算値に対応付けて、減算パターンテーブル２２５ｂに追加する（ステップＳ１４）。そして、減算パターンテーブル生成部２２４は、インデックスｉの値を「１」加算し（ステップＳ１５）、ステップＳ１２に移行する。
【００４４】
［実施例２に係るパケット判定処理の動作］
次に、実施例２に係るパケット判定処理について説明する。図９は、実施例２に係るパケット判定処理手順を示すフローチャートである。なお、パケット長の倍数規則値が「２β＋α」（ただし、βは正の整数、αは２の倍数でない正の整数）である場合のパケット判定処理を行うものとする。
【００４５】
まず、ヘッダ情報判定処理部２２１は、パケット受信部２１０から、受信パケットのヘッダ情報（パケット長倍数規則種別及びパケット長）及び実パケット長（以下、「ＬＥＮ」と略記する）を取得する（ステップＳ２１）。
【００４６】
続いて、ヘッダ情報判定処理部２２１は、パケット長倍数規則種別が「１」（２の累乗の倍数規則パケット）であるか否かを判定する（ステップＳ２２）。そして、パケット長倍数規則種別が「１」でないと判定された場合に（ステップＳ２２、Ｎｏ）、ヘッダ情報判定処理部２２１は、パケット長倍数規則種別が「０」（（２の累乗＋α）の倍数規則パケット）であるか否かを判定する（ステップＳ２３）。
【００４７】
そして、パケット長倍数規則種別が「０」であると判定された場合に（ステップＳ２３、Ｙｅｓ）、除算部２２２ｂは、ワークメモリに記憶する変数であるＵ（被除算値）及びＶ（除算値）にＬＥＮ及びＸを設定する。ここで、Ｘは、図４に示される、２の累乗＋αの形の２の累乗の値を示す。そして、除算部２２２ｂは、ＵをＶで除算する。そして、除算結果である商及び剰余を、ワークメモリに記憶する変数であるＮ、Ｍそれぞれに設定する（ステップＳ２４）。なお、剰余は、ｍｏｄ演算によって算出する。
【００４８】
続いて、減算値判定部２２２ｃは、除算部２２２ｂによって算出された剰余Ｍに対応する商ＮＰ（Ｐ＝１〜Ｘの整数）を減算パターンテーブル２２５ｂから取得する（ステップＳ２５）。そして、減算値判定部２２２ｃは、取得した商ＮＰを除算部２２２ｂによって算出された商Ｎから減算し、減算した減算値をＬＥＮとする（ステップＳ２６）。
【００４９】
そして、減算値判定部２２２ｃは、減算値ＬＥＮが倍数規則値（２β＋α）以上であるか否かを判定する（ステップＳ２７）。そして、減算値（ＬＥＮ）が倍数規則値（２β＋α）以上であると判定された場合に（ステップＳ２７、Ｙｅｓ）、被除算数設定部２２２ａは、減算値ＬＥＮをＵ（被除算値）に設定し、ステップＳ２４に移行する。
【００５０】
一方、減算値ＬＥＮが倍数規則値（２β＋α）以上でないと判定された場合に（ステップＳ２７、Ｎｏ）、データ長判定部２２３は、減算値判定部２２２ｃによって算出された商Ｎ及び剰余Ｍの組み合わせが減算パターンテーブル２２５ｂに存在するか否かを判定する（ステップＳ２８）。そして、商Ｎ及び剰余Ｍの組み合わせが減算パターンテーブル２２５ｂに存在する場合には（ステップＳ２８、Ｙｅｓ）、データ長判定部２２３は、「受信データのデータ長が正常である」と判断し、判定結果に「判定ＯＫ」を設定する（ステップＳ２９）。
【００５１】
一方、商Ｎ及び剰余Ｍの組み合わせが減算パターンテーブル２２５ｂに存在しない場合には（ステップＳ２８、Ｎｏ）、データ長判定部２２３は、「受信データのデータ長が正常でない」と判断し、判定結果に「判定ＮＧ」を設定する（ステップＳ３０）。そして、データ長判定部２２３は、判定結果を廃棄判定処理部２３０に通知する（ステップＳ３１）。
【００５２】
また、パケット長倍数規則種別が「１」（２の累乗の倍数規則パケット）であると判定された場合に（ステップＳ２２、Ｙｅｓ）、除算部２２２ｂは、ワークメモリに記憶する変数であるＵ（被除算値）及びＶ（除算値）にＬＥＮ及びＸを設定する。ここで、Ｘは、図４に示される、２の累乗の形の整数を示す。そして、除算部２２２ｂは、ＵをＶで除算する。そして、除算結果である剰余を、ワークメモリに記憶する変数であるＭに設定する（ステップＳ３２）。なお、剰余は、ｍｏｄ演算によって算出する。
【００５３】
そして、データ長判定部２２３は、剰余Ｍが「０」であるか否かを判定する（ステップＳ３３）。剰余Ｍが「０」であると判定された場合に（ステップＳ３３、Ｙｅｓ）、データ長判定部２２３は、「受信データのデータ長が正常である」と判断し、判定結果に「判定ＯＫ」を設定する（ステップＳ３４）。一方、剰余Ｍが「０」でないと判定された場合に（ステップＳ３３、Ｎｏ）、データ長判定部２２３は、「受信データのデータ長が正常でない」と判断し、判定結果に「判定ＮＧ」を設定する（ステップＳ３５）。そして、データ長判定部２２３は、ステップＳ３１に移行する。
【００５４】
また、パケット長倍数規則種別が「０」でないと判定された場合に（ステップＳ２３、Ｎｏ）、除算部２２２ｂは、ＬＥＮとＺ（図４に示される、固定パケット長を示す整数）とが等しいか否かを設定する（ステップＳ３６）。そして、ＬＥＮとＺとが等しいと判定された場合には（ステップＳ３６、Ｙｅｓ）、データ長判定部２２３は、「受信データのデータ長が正常である」と判断し、判定結果に「判定ＯＫ」を設定する（ステップＳ３７）。一方、ＬＥＮとＺとが等しくないと判定された場合には（ステップＳ３６、Ｎｏ）、データ長判定部２２３は、「受信データのデータ長が正常でない」と判断し、判定結果に「判定ＮＧ」を設定する（ステップＳ３８）。そして、データ長判定部２２３は、ステップＳ３１に移行する。
【００５５】
［実施例２に係るパケット判定処理の具体例］
ここで、図９に示したパケット判定処理の具体例を、倍数規則値「７」の倍数判定と倍数規則値「２６」の倍数判定とに分けて説明する。
【００５６】
［倍数規則値「７」の倍数判定］
まず、実パケット長が「３６４」（Ｂｙｔｅ：バイト、以下、省略）である場合に、実パケット長が倍数規則値７（＝２２＋３）の倍数であるか否かを２の累乗値である４（２２）を用いて判定する場合を説明する。
【００５７】
除算部２２２ｂは、以下のように、実パケット長「３６４」（ＬＥＮ）を２の累乗値「４」で除算（１回目の除算）し、除算結果を商Ｎ及び剰余Ｍそれぞれに設定する。
３６４／４＝９１（商Ｎ＝９１）
３６４ｍｏｄ４＝０（剰余Ｍ＝０）
【００５８】
続いて、減算値判定部２２２ｃは、減算パターンテーブル２２５ｂから剰余Ｍ（「０」）に対応する商「７」（図６を参照）を商Ｎ（「９１」）から減算し、減算値をＬＥＮとする。
９１―７＝８４（減算値ＬＥＮ＝８４）
【００５９】
そして、減算値判定部２２２ｃは、減算値ＬＥＮが倍数規則値「７」以上であるので、除算部２２２ｂは、以下のように、減算値ＬＥＮを２の累乗値「４」で除算（２回目の除算）し、除算結果を商Ｎ及び剰余Ｍそれぞれに設定する。
８４／４＝２１（商Ｎ＝２１）
８４ｍｏｄ４＝０（剰余Ｍ＝０）
【００６０】
続いて、減算値判定部２２２ｃは、減算パターンテーブル２２５ｂから剰余Ｍ（「０」）に対応する商「７」を商Ｎ（「２１」）から減算し、減算値をＬＥＮとする。
２１―７＝１４（減算値ＬＥＮ＝１４）
【００６１】
そして、減算値判定部２２２ｃは、減算値ＬＥＮが倍数規則値「７」以上であるので、除算部２２２ｂは、以下のように、減算値ＬＥＮを２の累乗値「４」で除算（３回目の除算）し、除算結果を商Ｎ及び剰余Ｍそれぞれに設定する。
１４／４＝３（商Ｎ＝３）
１４ｍｏｄ４＝２（剰余Ｍ＝２）
【００６２】
続いて、減算値判定部２２２ｃは、減算パターンテーブル２２５ｂから剰余Ｍ（「２」）に対応する商「３」を商Ｎ（「３」）から減算し、減算値をＬＥＮとする。
３―３＝０（減算値ＬＥＮ＝０）
【００６３】
そして、減算値判定部２２２ｃは、減算値ＬＥＮが倍数規則値「７」以上でないので、商Ｎ及び剰余Ｍの組み合わせが減算パターンテーブル２２５ｂに存在するか否かを判定する。ここでは、減算値判定部２２２ｃは、減算パターンテーブル２２５ｂに商Ｎ（「３」）及び剰余Ｍ（「２」）の組み合わせが減算パターンテーブル２２５ｂに存在する。したがって、データ長判定部２２３は、「受信データ長が正常である」と判断し、判定結果を「判定ＯＫ」を通知する。
【００６４】
また、実パケット長が「２３９」（Ｂｙｔｅ：バイト、以下、省略）である場合に、実パケット長が倍数規則値７（＝２２＋３）の倍数であるか否かを２の累乗値である４（２２）を用いて判定する場合を説明する。
【００６５】
除算部２２２ｂは、以下のように、実パケット長「２３９」（ＬＥＮ）を２の累乗値「４」で除算（１回目の除算）し、除算結果を商Ｎ及び剰余Ｍそれぞれに設定する。
２３９／４＝５９（商Ｎ＝５９）
２３９ｍｏｄ４＝０（剰余Ｍ＝３）
【００６６】
続いて、減算値判定部２２２ｃは、減算パターンテーブル２２５ｂから剰余Ｍ（「３」）に対応する商「１」（図６を参照）を商Ｎ（「５９」）から減算し、減算値をＬＥＮとする。
５９―１＝５８（減算値ＬＥＮ＝５８）
【００６７】
そして、減算値判定部２２２ｃは、減算値ＬＥＮが倍数規則値「７」以上であるので、除算部２２２ｂは、以下のように、減算値ＬＥＮを２の累乗値「４」で除算（２回目の除算）し、除算結果を商Ｎ及び剰余Ｍそれぞれに設定する。
５８／４＝１４（商Ｎ＝１４）
５８ｍｏｄ４＝０（剰余Ｍ＝２）
【００６８】
続いて、減算値判定部２２２ｃは、減算パターンテーブル２２５ｂから剰余Ｍ（「２」）に対応する商「３」を商Ｎ（「１４」）から減算し、減算値をＬＥＮとする。
１４―３＝１１（減算値ＬＥＮ＝１１）
【００６９】
そして、減算値判定部２２２ｃは、減算値ＬＥＮが倍数規則値「７」以上であるので、除算部２２２ｂは、以下のように、減算値ＬＥＮを２の累乗値「４」で除算（３回目の除算）し、除算結果を商Ｎ及び剰余Ｍそれぞれに設定する。
１１／４＝２（商Ｎ＝２）
１１ｍｏｄ４＝３（剰余Ｍ＝３）
【００７０】
続いて、減算値判定部２２２ｃは、減算パターンテーブル２２５ｂから剰余Ｍ（「３」）に対応する商「１」を商Ｎ（「２」）から減算し、減算値をＬＥＮとする。
２―１＝０（減算値ＬＥＮ＝１）
【００７１】
そして、減算値判定部２２２ｃは、減算値ＬＥＮが倍数規則値「７」以上でないので、商Ｎ及び剰余Ｍの組み合わせが減算パターンテーブル２２５ｂに存在するか否かを判定する。ここでは、減算値判定部２２２ｃは、減算パターンテーブル２２５ｂに商Ｎ（「２」）及び剰余Ｍ（「３」）の組み合わせが減算パターンテーブル２２５ｂに存在しない。したがって、データ長判定部２２３は、「受信データ長が正常でない」と判断し、判定結果を「判定ＮＧ」を通知する。
【００７２】
［倍数規則値「２６」の倍数判定］
次に、実パケット長が「３３８」（Ｂｙｔｅ：バイト、以下、省略）である場合に、倍数規則値２６の倍数であるか否かを判定する場合を説明する。まず、倍数規則値２６は２の倍数（２×１３）であるので、パケット判定処理は、実パケット長が２で割り切れるか否かの一次判定を行い、２で割り切れると判定される場合には、２で除算した除算結果の商が１３で割り切れるか否かの二次判定を行う。
【００７３】
除算部２２２ｂは、一次判定をするために、以下のように、実パケット長「３３８」（ＬＥＮ）を２で除算し、除算結果を商Ｎ及び剰余Ｍそれぞれに設定する。
３３８／２＝１６９（商Ｎ＝１６９）
３３８ｍｏｄ２＝０（剰余Ｍ＝０）
除算部２２２ｂは、剰余Ｍが「０」であり、実パケット長「３３８」が２で割り切れると判定されるので、一次判定ＯＫとして商Ｎ（「１６９」）をＬＥＮとする。
【００７４】
続いて、除算部２２２ｂは、ＬＥＮ「１６９」が倍数規則値１３（＝２３＋５）の倍数であるか否かを２の累乗値である８（２３）を用いて二次判定を行う。除算部２２２ｂは、以下のように、「１６９」（ＬＥＮ）を２の累乗値「８」で除算（１回目の除算）し、除算結果を商Ｎ及び剰余Ｍそれぞれに設定する。
１６９／８＝２１（商Ｎ＝２１）
１６９ｍｏｄ８＝１（剰余Ｍ＝１）
【００７５】
続いて、減算値判定部２２２ｃは、減算パターンテーブル２２５ｂから剰余Ｍ（「１」）に対応する商「８」（図７を参照）を商Ｎ（「２１」）から減算し、減算値をＬＥＮとする。
２１―８＝１３（減算値ＬＥＮ＝１３）
【００７６】
そして、減算値判定部２２２ｃは、減算値ＬＥＮが倍数規則値「１３」以上であるので、除算部２２２ｂは、以下のように、減算値ＬＥＮを２の累乗値「８」で除算（２回目の除算）し、除算結果を商Ｎ及び剰余Ｍそれぞれに設定する。
１３／８＝１（商Ｎ＝１）
１３ｍｏｄ８＝５（剰余Ｍ＝５）
【００７７】
続いて、減算値判定部２２２ｃは、減算パターンテーブル２２５ｂから剰余Ｍ（「５」）に対応する商「１」を商Ｎ（「１」）から減算し、減算値をＬＥＮとする。
１―１＝０（減算値ＬＥＮ＝０）
【００７８】
そして、減算値判定部２２２ｃは、減算値ＬＥＮが倍数規則値「１３」以上でないので、商Ｎ及び剰余Ｍの組み合わせが減算パターンテーブル２２５ｂに存在するか否かを判定する。ここでは、減算値判定部２２２ｃは、減算パターンテーブル２２５ｂに商Ｎ（「１」）及び剰余Ｍ（「５」）の組み合わせが減算パターンテーブル２２５ｂに存在する。したがって、データ長判定部２２３は、「受信データ長が正常である」と判断し、判定結果を「判定ＯＫ」を通知する。
【００７９】
また、実パケット長が「７４２」（Ｂｙｔｅ：バイト、以下、省略）である場合に、倍数規則値２６の倍数であるか否かを判定する場合を説明する。
【００８０】
除算部２２２ｂは、倍数規則値２６は２の倍数（２×１３）であるので、一次判定をするために、以下のように、実パケット長「７４２」（ＬＥＮ）を２で除算し、除算結果を商Ｎ及び剰余Ｍそれぞれに設定する。
７４２／２＝３７１（商Ｎ＝３７１）
７４２ｍｏｄ２＝０（剰余Ｍ＝０）
除算部２２２ｂは、剰余Ｍが「０」であり、実パケット長「７４２」が２で割り切れると判定されるので、一次判定ＯＫとして商Ｎ（「３７１」）をＬＥＮとする。
【００８１】
続いて、除算部２２２ｂは、ＬＥＮ「３７１」が倍数規則値１３（＝２３＋５）の倍数であるか否かを２の累乗値である８（２３）を用いて二次判定を行う。除算部２２２ｂは、以下のように、「３７１」（ＬＥＮ）を２の累乗値「８」で除算（１回目の除算）し、除算結果を商Ｎ及び剰余Ｍそれぞれに設定する。
３７１／８＝４６（商Ｎ＝４６）
３７１ｍｏｄ８＝３（剰余Ｍ＝３）
【００８２】
続いて、減算値判定部２２２ｃは、減算パターンテーブル２２５ｂから剰余Ｍ（「３」）に対応する商「１１」（図７を参照）を商Ｎ（「４６」）から減算し、減算値をＬＥＮとする。
４６―１１＝３５（減算値ＬＥＮ＝３５）
【００８３】
そして、減算値判定部２２２ｃは、減算値ＬＥＮが倍数規則値「１３」以上であるので、除算部２２２ｂは、以下のように、減算値ＬＥＮを２の累乗値「８」で除算（２回目の除算）し、除算結果を商Ｎ及び剰余Ｍそれぞれに設定する。
３５／８＝４（商Ｎ＝４）
３５ｍｏｄ８＝３（剰余Ｍ＝３）
【００８４】
続いて、減算値判定部２２２ｃは、減算パターンテーブル２２５ｂから剰余Ｍ（「３」）に対応する商「１１」を商Ｎ（「４」）から減算し、減算値をＬＥＮとする。
４―１１＝−７（減算値ＬＥＮ＝−７）
【００８５】
そして、減算値判定部２２２ｃは、減算値ＬＥＮが倍数規則値「１３」以上でないので、商Ｎ及び剰余Ｍの組み合わせが減算パターンテーブル２２５ｂに存在するか否かを判定する。ここでは、減算値判定部２２２ｃは、減算パターンテーブル２２５ｂに商Ｎ（「４」）及び剰余Ｍ（「３」）の組み合わせが減算パターンテーブル２２５ｂに存在しない。したがって、データ長判定部２２３は、「受信データ長が正常でない」と判断し、判定結果を「判定ＮＧ」を通知する。
【００８６】
［実施例２に係る適用例］
次に、実施例２に係る通信装置を携帯端末装置とした場合の適用例を、図１０を参照しながら説明する。図１０は、実施例２に係る携帯端末装置の適用例を示すシーケンス図である。なお、携帯端末装置は、物理層のレイヤ１（以下、「Ｌ１」と略記する。）と、ＰＤＣＰ（Packet  Data  Convergence  Protocol）、ＲＬＣ（Radio  Link  Control）及びＭＡＣ（Media  Access  Control）の３つのサブレイヤからなるレイヤ２とで構成される。
【００８７】
まず、携帯端末装置側から基地局側へデータを送信する場合、携帯端末装置では、ＰＤＣＰが上位レイヤから受け取ったデータ（ＰＤＵ：Protocol  Data  Unit）を、ＲＬＣ、ＭＡＣ及びＬ１を介して基地局へ送信する（ステップＳ４１〜Ｓ４４）。そして、基地局は、携帯端末装置から受信したデータに対して受信確認情報（Status  PDU）を返信する（ステップＳ４５）。
【００８８】
続いて、携帯端末装置では、Ｌ１が基地局から受け取ったデータを、ＭＡＣを介してＲＬＣに送信する（ステップＳ４６〜Ｓ４７）。そして、ＲＬＣは、受信したデータが「ＡＣＫ」である場合には、データ内のＡＣＫ情報をＰＤＣＰへ通知する（ステップＳ４９ｂ）。そして、ＰＤＣＰは、通知されたＡＣＫ情報から該当する送信データを解放する。一方、ＲＬＣは、受信したデータが「ＮＡＣＫ」である場合には、倍数規則値に基づくパケット判定処理を行う（ステップＳ４８）。そして、ＲＬＣは、倍数規則値の倍数であると判定する場合には、「受信データ長が正常である」と判断し、データ内のＮＡＣＫ情報から該当する送信データを読み出し、基地局に対し再送処理を行う（ステップＳ４９ａ〜Ｓ５１）。そして、基地局は、携帯端末装置から受信したデータに対して受信確認情報を返信する（ステップＳ５２）。
【００８９】
続いて、携帯端末装置では、基地局から受け取ったデータを、ステップＳ４６〜Ｓ４８により説明したとおり処理する（ステップＳ５３〜Ｓ５５）。
【００９０】
このようにパケット判定処理は、携帯端末装置のレイヤ間通信（ＭＡＣ−ＲＬＣ間）における受信パケットの倍数判定に適用できる。この場合には、ＭＡＣ及びＰＤＣＰが、それぞれ実施例２を適用した通信装置３ａ、３ｂを含むものとなる。そして、パケット判定処理は、そのアルゴリズムを用いて、ＲＴＬ記述することで、ＬＳＩ（Large  Scale  Integration）、ＦＰＧＡ（Field  Programmable  Gate  Array）又はＰＬＤ（Programmable  Logic  Device）等のデバイスで実装可能となる。また、パケット判定処理は、そのアルゴリズムを用いて、ＤＳＰ（Digital  Signal  Processor）のファームウェア制御によるソフトウェアで実装可能となる。
【００９１】
［実施例２の効果］
上記実施例２によれば、通信装置２では、受信パケットの実パケット長である整数Ｌが所定整数２β＋α（ただし、βは正の整数、αは２の倍数でない正の整数）の倍数であるか否か（すなわち、Ｌが所定整数（２β＋α）で割り切れるか否か）を判定するために、減算パターンテーブル２２５ｂを生成するようにした。減算パターンテーブル２２５ｂは、所定整数に１から２βまでの整数をそれぞれ乗じて得た乗算値を２βで除算して得られた、乗算値ごとの商及び剰余を該乗算値に対応付けて記憶する。そして、除算部２２２ｂは、整数Ｌを被除算数として設定し、被除算数を２βで除算し、その商Ｎ及び剰余Ｍを算出する。そして、減算値判定部２２２ｃは、剰余Ｍに対応する商ＮＰ（Ｐ＝１〜Ｘ）を減算パターンテーブル２２５ｂから取得する。そして、減算値判定部２２２ｃは、取得した商ＮＰ及び商Ｎの減算値（Ｎ−ＮＰ）が所定整数より大であれば、さらに、除算部２２２ｂは、減算値（Ｎ−ＮＰ）を被除算数として設定し、被除算数を２βで除算する。そして、減算値（Ｎ−ＮＰ）が所定整数より大である限り、除算部２２２ｂは、減算値（Ｎ−ＮＰ）を被除算数として設定し、被除算数を２βで除算し続ける。そして、データ長判定部２２３は、減算値（Ｎ−ＮＰ）が初めて所定整数より大でなくなったときの商Ｎ及び剰余Ｍの組み合わせが減算パターンテーブル２２５ｂに存在する場合は、Ｌが所定整数の倍数である（すなわち、Ｌが所定整数で割り切れる）と判定する。
【００９２】
これにより、通信装置２は、整数Ｌについて所定整数の倍数判定をする際、被除算数を２βで除算された剰余Ｍと、減算パターンテーブル２２５ｂにおける所定整数に整数を乗じて得た乗算値を２βで除算して得られた剰余が一致するので、以下の式が成立する。
減算値（Ｎ−ＮＰ）＝（被除算数−（商ＮＰに対応する、所定整数に整数を乗じて得た乗算値））／２β・・・式（２）
式（２）によって、通信装置２は、被除算数から所定整数に整数を乗じて得た乗算値を一度に減算し、さらに減算値について所定整数の倍数判定をするので、当該倍数判定を高速にできる。しかも、通信装置２は、除算数を２βとすることにより、シフト演算を用いることができ、剰余を高速に演算できる。その結果、通信装置２は、整数Ｌが所定整数の倍数であるか否かの判定をさらに高速にできる。
【００９３】
また、図１１に示すように、図示されている表においてハッチングされている部分がシフト演算（従来技術）及び実施例２に係るパケット判定処理によって倍数規則性判定可能な正の整数を表している。例えば、「７」は、従来技術ではシフト演算のみでは倍数規則性を判定できなかったが、実施例２によって倍数規則性判定が可能となっている。図１１に示すように、例えば「１」から「１００」までの整数のうち、従来技術では、７％の数値でのみしか倍数規則性判定によるパケット判定処理を行い得なかった。また、実施例２に示したパケット判定処理によって、１００％の数値で倍数規則性判定によるパケット判定処理を行い得る。このように、実施例２に係る通信装置２は、シフト演算のみによるパケット判定処理の約１４倍程度の数値で倍数規則性判定によるパケット判定処理を行い得るので、柔軟に様々なパケット長の倍数規則性判定を高速に行うことが可能となる。よって、通信装置２は、その規模縮小化及び省電力化の低減を図ることができる。
【００９４】
また、実施例２によれば、減算パターン生成部２２４が、所定整数に１から２βまでの整数をそれぞれ乗じて得た乗算値を２βで除算して商及び剰余を算出する。そして、減算パターンテーブル２２５ｂが、減算パターン生成部２２４によって算出された乗算値ごとの商及び剰余を、該乗算値に対応付けて記憶するようにした。これにより、通信装置２は、減算パターンテーブル２２５ｂを自動的に生成することができるので、パケット判定処理を行う環境を効率的に整えることができる。
【００９５】
また、実施例２によれば、各通信装置は、自装置が起動された時に、減算パターン生成部２２４が、乗算値ごとの商及び剰余を算出し、該乗算値に対応付けて減算パターンテーブル２２５ｂに格納するようにした。これにより、通信装置２は、自装置の起動時に、乗算値ごとの商及び剰余を算出するので、パケット判定処理の都度算出する場合に比べ、パケット判定処理を高速に行うことができる。
【００９６】
また、実施例２によれば、倍数規則テーブル２２５ａは、複数の所定整数の候補値を書き換え可能に記憶する。また、除算部２２２ｂは、受信データのヘッダ情報から得られるパケット長倍数規則種別に応じて、倍数規則テーブル２２５ａによって記憶される複数の所定整数の候補値から一の候補値を選択して所定整数とする。これにより、パケット長倍数規則の対応が柔軟になり、あらゆるパケット長倍数規則に対応するパケットのパケット長が正常であるか否かを判定することが可能となる。
【００９７】
［その他］
なお、上記実施例２の通信装置２では、受信パケットの実パケット長が所定整数（２β＋α）の整数倍であるか否かの倍数判定を行う場合を説明した。実施例２では、これに限定されるものではなく、パケット判定処理部２２０は、ほぼ同様の構成で、倍数判定回路として適用することが可能である。倍数判定回路として適用する場合には、パケット判定処理部２２０は、ヘッダ情報判定処理部２２１を削除する構成を採れば良い。そして、除算処理部２２２は、被除算数及び所定整数を入力するようにすれば良い。これにより、倍数判定回路は、より簡易なアルゴリズムで倍数判定を行うことができる。そして、例えば、画像入力装置又は画像出力装置等で、画素の座標を決定する際に、より処理負荷が軽く、また処理回路もより簡易な構成でハードウェア実装可能となるので、画像入力装置及び画像出力装置の処理能力を向上させることもできる。
【００９８】
また、図示した通信装置２の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、通信装置２の分散・統合の具体的態様は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。例えば、除算処理部２２２とデータ長判定部２２３とを１つの部として統合しても良い。一方、除算部２２２ｂをパケット長倍数識別種別に応じて、倍数規則テーブル２２５ａから一の倍数規則値を選択して所定整数とする倍数規則値選択部と、所定整数（２β＋α）から算出される２βで被除算数を除算する除算部とに分散しても良い。また、記憶部２２５を通信装置２の外部装置としてネットワーク経由で接続するようにしても良い。
【００９９】
なお、通信装置２にて行われる各処理機能は、その全部または任意の一部が、ＣＰＵ（Central Processing Unit）（またはＭＰＵ（Micro Processing Unit）、ＭＣＵ（Micro Controller Unit）等のマイクロ・コンピュータ）および当該ＣＰＵ（またはＭＰＵ、ＭＣＵ等のマイクロ・コンピュータ）にて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現されても良い。
【符号の説明】
【０１００】
１、２  通信装置
１１、２２５  記憶部
１２  被除算数設定部
１３、２２２ｂ  除算部
１４、２２２ｃ  減算値判定部
１５、２２３  データ長判定部
２０、３０  パケット処理部
２１、３１  パケット受信制御部
２２、３２  パケット処理制御部
２３、３３  パケット送信制御部
３ａ、３ｂ  通信装置
２１０  パケット受信部
２２０  パケット判定処理部
２２１  ヘッダ情報判定処理部
２２２  除算処理部
２２２ａ  被除算数設定部
２２４  減算パターン生成部
２２５ａ  倍数規則テーブル
２２５ｂ  減算パターンテーブル
２３０  廃棄判定処理部
【図１】
0005509839.tif 000002
【図２】
0005509839.tif 000003
【図３】
0005509839.tif 000004
【図４】
0005509839.tif 000005
【図５】
0005509839.tif 000006
【図６】
0005509839.tif 000007
【図７】
0005509839.tif 000008
【図８】
0005509839.tif 000009
【図９】
0005509839.tif 000010
【図１０】
0005509839.tif 000011
【図１１】
0005509839.tif 000012