以下に、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。したがってそれらについての詳細な説明は繰返さない。
本実施の形態においては、図18に示されたような、UWB(Ultra-Wide-Band)ワイヤレス技術を用いて構築されるピコネットと言われるネットワークにおいて、ネットワークの集中管理を行なうPNC(Piconet Coordinator)とその他のデバイス(DEV)との間で、TDMA方式でMPEG2−TS(Moving Pictures Experts Group 2-Transport Stream)データの送受信が行なわれるものとして以下の説明を行なう。
図1および図2を用いて、PNCの構成のうち、アプリケーション層(PNC−API)から物理層(PNC−PHY)の構成について説明する。
図1を参照して、PNC−API層11000には、MPEG2 ENCODER11004が含まれ、図示されない入力部から映像信号(VIDEO)の入力を受付けてエンコードし、MPEG2−TSデータを生成する。そして、MPEG2 ENCODER11004は、図示されないクロックジェネレータから発信されるMPEG2のシステムの標準クロックである27MHzのクロック周波数信号(以下、クロックと省略する)の入力を受付け、該クロックに基づいた所定のタイミングで、生成したMPEG2−TSデータを27MHzのクロック信号と共に、下位層であるPNC−LINK層11001とデータを受渡しするためのFIFO(First In First Out)と言われるデータの受渡し方式を行なうバッファ(以下、FIFOと省略する)11005に格納する。MPEG2 ENCODER11004は、先に図20を用いて説明された、従来のMPEG2 ENCODERと同様の構成である。
FIFO11005は、PNC−API層11000とPNC−LINK層11001との間を接続する、クロックに同期してデータの入出力が可能なバッファであり、書込み時のクロックと読込み時のクロックとが異なっている場合であっても、それぞれのクロックを換えてデータの入出力を行なうことが可能なバッファである。FIFO11005は、図示されないクロックジェネレータから発信されるPNC−LINK層11001のクロック(PNC−LINKクロック)の入力を受付け、MPEG2 ENCODER11004によって格納されたMPEG2−TSデータをPNC−LINKクロックに基づいた所定のタイミングで読出し、バッファ管理部11006に渡す。
PNC−LINK層11001全体はPNC−LINKコントローラ11011で制御される。PNC−LINKコントローラ11011はバッファ管理部11006との間で制御情報のやり取りを行なってバッファ管理部11006を制御し、バッファ管理部11006の管理するバッファ11009のあふれや、MAC−SAPフレーム作成およびバッファ管理部11010へのデータの出力状況などをバッファ管理部11006から取得する。また、MAC−SAPフレーム作成およびバッファ管理部11010との間でも制御情報のやり取りを行なってMAC−SAPフレーム作成およびバッファ管理部11010を制御し、MAC−SAPフレーム作成およびバッファ管理部11010の管理するバッファ11041のあふれや、FIFO11040へのデータの出力状況や、以下に述べるMAC−SAPフレーム作成時に書込まれたパラメータなどをMAC−SAPフレーム作成およびバッファ管理部11010から取得する。同様に、PNC−LINKコントローラ11011は、MLME−SAPフレーム作成および選択部11012およびMLME−SAPフレーム解析および選択部11015との間でも制御情報のやり取りを行なって、それぞれを制御する。
バッファ管理部11006はPNC−LINKコントローラ11011からの制御情報にしたがってタイムスタンプ作成部11007からタイムスタンプを取得し、FIFO11005から出力されたMPEG2−TSデータにタイムスタンプを付加する。ここで付加されるタイムスタンプは、FIFO11005からMPEG2−TSデータが出力された時刻に基づくものである。なお、タイムスタンプ作成部11007でのタイムスタンプの作成については後述する。
そして、バッファ管理部11006は、タイムスタンプが付加されたMPEG2−TSデータを、MAC−SAPフレーム作成およびバッファ管理部11010へ渡す。そのデータの受渡しの際、バッファ管理部11006の管理するバッファ11009は、一時的なバッファとして用いられる。
MAC−SAPフレーム作成およびバッファ管理部11010は、PNC−LINK層11001とPNC−MAC層11002とのインタフェース点であるMAC(Medium Access Control)−SAP(service access point)を介したアクセス方法に準拠したフレーム(データ構造体:以下、MAC−SAPフレームと称する)を作成する部分である。MAC−SAPフレーム作成およびバッファ管理部11010は、PNC−LINKコントローラ11011からの制御情報にしたがって、バッファ管理部11006から渡されたMPEG2−TSデータに基づいてMAC−SAPフレームを作成し、PNC−LINKクロックに基づいた所定のタイミングで、下位層であるPNC−MAC層11002とデータを受渡しするためのFIFO11040へ書込む。そのMAC−SAPフレームの書込みの際、MAC−SAPフレーム作成およびバッファ管理部11010の管理するバッファ11041は、FIFO11040へ出力するためのタイミングの調整と、MAC−SAPフレームの作成処理の処理時間遅延を保護することとの目的で用いられる。
FIFO11040は、PNC−LINK層11001とPNC−MAC層11002との間を接続する。FIFO11040は、図示されないクロックジェネレータから発信されるPNC−MAC層11002のクロック(PNC−MACクロック)の入力を受付け、MAC−SAPフレーム作成およびバッファ管理部11010から書込まれたMAC−SAPフレームを、PNC−MACクロックに基づいた所定のタイミングで読出す。
PNC−LINKコントローラ11011からPNC−MAC層11002を介して制御データを送信する場合は、送信制御データをMLME−SAPフレーム作成および選択部11012に送る。
MLME−SAPフレーム作成および選択部11012は、PNC−LINKコントローラ11011から入力された送信制御データに基づいて、PNC−LINK層11001とPNC−MAC層11002との制御情報のインタフェース点であるMLME(MAC Layer Management Entity)−SAPを介したアクセス方法に準拠したフレーム(以下、MLME−SAPフレームと称する)を作成する。そして、MLME−SAPフレーム作成および選択部11012は、作成されたMLME−SAPフレームをバッファ11013に一時的に格納する。
MLME−SAPフレーム作成および選択部11012では、通常は、バッファ11013に格納されたMLME−SAPフレームが逐次的にMLME−SAPフレーム送受信用バッファ11014に渡されるが、PNC−LINKコントローラ11011から送信の優先度を表わす優先度送信情報を受信した場合、優先度送信情報に基づいて該当するMLME−SAPフレームを優先的に送信するか否かが選択される。優先度の高いMLME−SAPフレームとしては、後述するビーコン情報によるMLME−SAPフレームが挙げられる。
MLME−SAPフレーム作成および選択部11012によって選択されたMLME−SAPフレームは、MLME−SAPフレーム送受信用バッファ11014に渡される。MLME−SAPフレーム送受信用バッファ11014は、PNC−MAC層11002のMLME−SAPフレーム送受信用バッファ11017との間でMLME−SAPフレームの受渡しを行なう。
一方、PNC−LINKコントローラ11011でPNC−MAC層11002を介して制御データを受信する場合は、MLME−SAPフレーム送受信用バッファ11014から、PNC−MAC層11002のMLME−SAPフレーム送受信用バッファ11017より受信されたMLME−SAPフレームが、MLME−SAPフレーム解析および選択部11015に入力される。
MLME−SAPフレーム解析および選択部11015は、MLME−SAPフレーム送受信用バッファ11014から入力されたMLME−SAPフレームの内容(フレームタイプやデータ内容、パラメータ等)を解析して、PNC−LINKコントローラ11011に渡すMLME−SAPフレームを選択する。その際、後述する優先度を示す識別子が付加されている場合、たとえば該識別子が付加されているビーコン情報によるMLME−SAPフレームの場合には、他のMLME−SAPフレームよりも優先的にPNC−LINKコントローラ11011に渡される。
続いて、図2を参照して、FIFO11040はPNC−MACクロックに基づいた所定のタイミングでMAC−SAPフレームを読出し、MAC−SAPフレーム受信バッファ管理部11018に渡す。
PNC−MAC層11002全体はPNC−MACコントローラ11023で制御される。PNC−MACコントローラ11023は、MAC−SAPフレーム受信バッファ管理部11018、およびPHY−SAPフレーム作成および受信バッファ管理部11020と制御情報をやり取りし、それらを制御する。また、MLME−SAPフレーム解析部11024、およびPLME−SAPフレーム解析部11027から解析情報を取得して、MLME−SAPフレーム作成部11028、およびPLME−SAPフレーム作成部11025に制御情報を出力し、それらを制御する。
MAC−SAPフレーム受信バッファ管理部11018は、PNC−MACコントローラ11023からの制御情報にしたがって、FIFO11040から出力されたMAC−SAPフレームを一時的にバッファ11019に保存する。
バッファ11019はMAC−SAPフレーム受信バッファ管理部11018によって管理されるバッファであり、PHY−SAPフレーム作成および受信バッファ管理部11020で後述するPHY−SAPフレームを作成させるために、MAC−SAPフレーム受信バッファ管理部11018からPHY−SAPフレーム作成および受信バッファ管理部11020にMAC−SAPフレームを送信する際の送信待ちのために使用される。
MAC−SAPフレーム受信バッファ管理部11018は、PNC−MACコントローラ11023からの制御情報にしたがって、管理するバッファ11019のあふれや、PHY−SAPフレーム作成および受信バッファ管理部11020へMAC−SAPフレームを出力するタイミングを管理して、その制御情報をPNC−MACコントローラ11023へ送る。
PHY−SAPフレーム作成および受信バッファ管理部11020は、PNC−MAC層11002とPNC−PHY(物理)層11003とのインタフェース点であるPHY−SAPを介したアクセス方法に準拠したフレーム(以下、PHY−SAPフレームと称する)を作成する部分である。PHY−SAPフレーム作成および受信バッファ管理部11020は、PNC−MACコントローラ11023からの制御情報にしたがって、MAC−SAPフレーム受信バッファ管理部11018から渡されたMAC−SAPフレームに基づいてPHY−SAPフレームを作成し、PNC−MACクロックに基づいた所定のタイミングで、下位層であるPNC−PHY層11003へデータを送信するためにPHYフレームデータ送信部11030へ書込む。そのPHY−SAPフレームの書込みの際、PHY−SAPフレーム作成および受信バッファ管理部11020の管理するバッファ11021は、PHYフレームデータ送信部11030へ作成されたPHY−SAPフレームを出力するタイミングの調整と、PHY−SAPフレームの作成処理の処理時間遅延を保護することとの目的で用いられる。また、PHY−SAPフレーム作成および受信バッファ管理部11020は、管理するバッファ11021のあふれや、PHYフレームデータ送信部11030へPHY−SAPフレームを出力するタイミングを管理して、その制御情報をPNC−MACコントローラ11023へ送る。
PHYフレームデータ送信部11030は、PHY−SAPフレーム作成および受信バッファ管理部11020によって書込まれたPHY−SAPフレームデータをPNC−MACクロックに基づいた所定のタイミングで読出し、下位層であるPNC−PHY層11003へ送信する。
このようにして、PNC−API層11000のMPEG2 ENCODERでエンコードされたMPEG2−TSデータは、PNC−LINK層11001においてPNCサイクルタイマ作成部11008で作成されたPNCサイクルタイマに基づいたタイムスタンプが付加されてPNC−PHY層11003まで、順次、SAPを介して伝送され、DEVへ送信される。
一方、PNC−LINK層11001のMLME−SAPフレーム送受信用バッファ11014との間で受渡しされるMLME−SAPフレームは、PNC−MAC層11002のMLME−SAPフレーム送受信用バッファ11017に一時的に蓄積される。
PNC−LINK層11001のMLME−SAPフレーム送受信用バッファ11014から受信したMLME−SAPフレームは、PNC−MAC層11002のMLME−SAPフレーム送受信用バッファ11017からMLME−SAPフレーム解析部11024に渡され、MLME−SAPフレーム内の制御情報(データやパラメータ等)が解析される。そして、解析制御データはPNC−MACコントローラ11023へ渡される。
PNC−MACコントローラ11023は、MLME−SAPフレーム解析部11024から渡されたMLME−SAPフレームに含まれる解析制御データの内容に基づいて、PNC−MAC層11002とPNC−PHY層11003との制御情報のインタフェース点であるPLME(PHY Layer Management Entity)−SAPを介したアクセス方法に準拠したフレーム(以下、PLME−SAPフレームと称する)を作成するための作成情報をPLME−SAPフレーム作成部11025に送る。PLME−SAPフレーム作成部11025は、PNC−MACコントローラ11023から入力された作成情報に基づいてPLME−SAPフレームを作成し、PLME−SAPフレーム送受信用バッファ11026へ渡す。
PLME−SAPフレーム送受信用バッファ11026は、PNC−PHY層11003とのフレームの送受信を行なうためのバッファである。PNC−PHY層11003とPNC−MAC層11002とはPHYフレームデータ受信部11029で接続され、PHYフレームデータ受信部11029にPNC−PHY層11003からデータが受信されたら、入力されたデータはPLME−SAPフレーム送受信用バッファ11026に渡される。
PHYフレームデータ受信部11029からPLME−SAPフレーム送受信用バッファ11026に入力されたデータであるPLME−SAPフレームは、PLME−SAPフレーム解析部11027に渡され、PLME−SAPフレーム内のデータが解析される。そして、解析されたデータやパラメータは、受信解析データとしてPNC−MACコントローラ11023に入力される。
PNC−MACコントローラ11023は、PLME−SAPフレーム解析部11027から入力された受信解析データに基づいて、MLME−SAPフレームを作成するための作成情報をMLME−SAPフレーム作成部11028に送る。PLME−SAPフレーム作成部11028は、PNC−MACコントローラ11023から入力された作成情報に基づいてMLME−SAPフレームを作成し、MLME−SAPフレーム送受信用バッファ11017へ渡す。そして、MLME−SAPフレーム送受信用バッファ11017に一時的に蓄積されたMLME−SAPフレームは、PNC−LINK層11001のMLME−SAPフレーム送受信用バッファ11014に所定のタイミングで送信される。
先述のように、ピコネットを管理するPNCからは、ピコネットに属するDEVに対してビーコンフレームが送信されている。
PNC−PHY層11003でDEVに対するビーコンフレームの送信は、PNC−PHY層11003からPHYフレームデータ受信部11029にPLME−SAPフレームが送信されることでPNC−MAC層11002に伝送される。PLME−SAPフレーム解析部11027は該PLME−SAPフレームを解析して得られた受信解析データをPNC−MACコントローラ11023に入力する。
PNC−MACコントローラ11023はPNC−LINK層11001のPNCサイクルタイマ作成部11008と接続されて、PLME−SAPフレーム解析部11027から入力された受信解析データに基づいてビーコン検出信号をPNCサイクルタイマ作成部11008に直接入力する。この、PNC−MACコントローラ11023からPNCサイクルタイマ作成部11008に直接入力されるビーコン検出信号を以降の説明においてビーコン検出信号Bと称する。
または、PNC−MACコントローラ11023は、PLME−SAPフレーム解析部11027から入力された受信解析データに基づいて、MLME−SAPフレームを作成するための作成情報をMLME−SAPフレーム作成部11028に送る。PLME−SAPフレーム作成部11028は、上述のように、PNC−MACコントローラ11023から入力された作成情報に基づいてMLME−SAPフレームを作成してMLME−SAPフレーム送受信用バッファ11017へ渡し、ビーコン検出信号としてPNC−LINK層11001のMLME−SAPフレーム送受信用バッファ11014に送信される。この、MLME−SAPフレームデータとしてPNC−LINK層11001に渡されるビーコン検出信号を以降の説明においてビーコン検出信号Aと称する。
さらに、PNCサイクルタイマ作成部11008は、ビーコン検出信号Aまたはビーコン検出信号Bであるビーコン検出信号の入力を受付け、入力されたビーコン検出信号と図示されないクロックジェネレータから発信されるPNC−MACクロックとを用いて、PNCサイクルタイマを作成する。PNCサイクルタイマについては、後に詳述する。そして、PNCサイクルタイマ作成部11008は、作成したPNCサイクルタイマを、タイムスタンプ作成部11007とPNC−LINKコントローラ11011とへ渡す。なお、ビーコン検出信号としては、ビーコン検出信号Aおよびビーコン検出信号BのいずれかがPNCサイクルタイマ作成部11008に入力されてもよいし、両ビーコン検出信号が入力されて予め設定されたいずれか一方のビーコン検出信号が用いられてPNCサイクルタイマが作成されてもよい。
タイムスタンプ作成部11007は、PNCサイクルタイマ作成部11008から渡されたPNCサイクルタイマに基づいて、PNC−LINKクロックに基づいた所定のタイミングでタイムスタンプを作成する。つまり、上述のように、FIFO11005からMPEG2−TSデータが出力された時刻に基づくタイミングでタイムスタンプが作成される。そして、作成したタイムスタンプをバッファ管理部11006に渡す。
次に、図3および図4を用いて、DEVの構成のうち、アプリケーション層(DEV−API)から物理層(DEV−PHY)の構成について説明する。
DEVの構成は、一部を除いて、図1および図2を用いて説明されたPNCの構成と同様であって、DEVがPNCから送信されるMPEG2−TSデータを受信する受信装置に該当するためにMPEG2−TSデータの入力方向が反対であることと、時間同期管理部13050およびDEVサイクルタイマ作成部13051を備えることと、などが異なる点である。
始めにPNCから受信されたMPEG2−TSデータの流れに沿ってDEVの構成を説明する。
図4を参照して、DEV−MAC層13002全体はDEV−MACコントローラ13023で制御される。DEV−MACコントローラ13023は、MAC−SAPフレーム受信バッファ管理部13018、およびMAC−SAPフレーム作成および受信バッファ管理部13020と制御情報をやり取りし、それらを制御する。また、MLME−SAPフレーム解析部13024、およびPLME−SAPフレーム解析部13027から解析情報を取得して、MLME−SAPフレーム作成部13028、およびPLME−SAPフレーム作成部13025に制御情報を出力し、それらを制御する。
PHYフレームデータ受信部13030は、下位層であるDEV−PHY層13003でPNCから受信されたタイムスタンプが付加されたMPEG2−TSデータを、DEV−MAC層11302とDEV−PHY(物理)層13003とのインタフェース点であるPHY−SAPを介したアクセス方法に準拠したPHYフレームとして受取る。受取ったPHY−SAPフレームは、MAC−SAPフレーム作成および受信バッファ管理部13020へ渡される。
MAC−SAPフレーム作成および受信バッファ管理部13020は、DEV−LINK層13001とDEV−MAC層13002とのインタフェース点であるMAC−SAPを介したアクセス方法に準拠したMAC−SAPフレームを作成する部分である。MAC−SAPフレーム作成および受信バッファ管理部13020は、DEV−MACコントローラ13023からの制御情報にしたがって、PHYフレームデータ受信部13030から渡されたPHYフレームに基づいてMAC−SAPフレームを作成し、MAC−SAPフレーム受信バッファ管理部13018に書込む。そのMAC−SAPフレームの書込みの際、MAC−SAPフレーム作成および受信バッファ管理部13020の管理するバッファ13021は、MAC−SAPフレーム受信バッファ管理へ作成されたMAC−SAPフレームを出力するタイミングの調整と、MAC−SAPフレームの作成処理の処理時間遅延を保護することとの目的で用いられる。また、MAC−SAPフレーム作成および受信バッファ管理部13020は、管理するバッファ13021のあふれや、MAC−SAPフレーム受信バッファ管理部13018へMAC−SAPフレームを出力するタイミングを管理して、その制御情報をMAC−MACコントローラ13023へ送る。
MAC−SAPフレーム受信バッファ管理部13018は、DEV−MACコントローラ11023からの制御情報にしたがって、MAC−SAPフレーム作成および受信バッファ管理部13020から渡されたMAC−SAPフレームを、DEV−MAC層13002のクロック(DEV−MACクロック)に基づいた所定のタイミングでFIFO13040に書込む。その際、MAC−SAPフレームは一時的にバッファ13019に保存される。
バッファ13019はMAC−SAPフレーム受信バッファ管理部13018によって管理されるバッファであり、DEV−LINK層13001にデータを受渡すために、MAC−SAPフレーム受信バッファ管理部13018からFIFO13040にMAC−SAPフレームを送信する際の送信待ちのために使用される。
また、MAC−SAPフレーム受信バッファ管理部13018は、DEV−MACコントローラ13023からの制御情報にしたがって、管理するバッファ13019のあふれや、FIFO13040へMAC−SAPフレームを出力するタイミングを管理して、その制御情報をDEVC−MACコントローラ13023へ送る。
FIFO13040は、DEV−LINK層13001とDEV−MAC層13002との間を接続する。FIFO13040は、図示されないクロックジェネレータから発信されるDEV−LINK層13001のクロック(DEV−LINKクロック)の入力を受付け、MAC−SAPフレーム受信バッファ管理部13018から書込まれたMAC−SAPフレームを、DEV−LINKクロックに基づいた所定のタイミングで読出す。
次に、図3を参照して、DEV−LINK層13001全体はDEV−LINKコントローラ13011で制御される。DEV−LINKコントローラ13011はバッファ管理部13006との間で制御情報のやり取りを行なってバッファ管理部13006を制御し、バッファ管理部13006の管理するバッファ13009のあふれや、MAC−SAPフレーム作成およびバッファ管理部13010へのデータの出力状況などをバッファ管理部13006から取得する。また、MPEG2−TSデータ作成およびバッファ管理部13010との間でも制御情報のやり取りを行なってMAC−SAPフレーム作成およびバッファ管理部13010を制御し、MPEG2−TSデータ作成およびバッファ管理部13010の管理するバッファ13041のあふれや、FIFO13040からのデータの入力状況や、MPEG2−TSデータ作成時に書込まれたパラメータなどをMPEG2−TSデータ作成およびバッファ管理部13010から取得する。同様に、DEV−LINKコントローラ13011は、MLME−SAPフレーム作成および選択部13012およびMLME−SAPフレーム解析および選択部13015との間でも制御情報のやり取りを行なって、それぞれを制御する。
FIFO13040から読出されたMAC−SAPフレームは、MPEG2−TS作成およびバッファ管理部13010に渡される。MPEG2−TS作成およびバッファ管理部13010は、FIFO13040から渡された、DEV−MAC層13002のMAC−SAPフレーム受信バッファ管理部13018によって書込まれたMAC−SAPフレームは、MPEG2−TSデータ作成およびバッファ管理部13010に渡される。
MPEG2−TSデータ作成およびバッファ管理部13010は、DEV−LINKコントローラ13011からの制御情報にしたがって、FIFO13040から渡されたMAC−SAPフレームに基づいてMPEG2−TSデータを再構築する。そして、構築されたMPEG2−TSデータをバッファ管理部13006に書込む。その際、MPEG2−TSデータ作成およびバッファ管理部13010の管理するバッファ13041は、FIFO11040からMAC−SAPフレームを入力するタイミングの調整と、MPEG2−TSデータの構築処理の処理時間遅延を保護することとの目的で用いられる。
バッファ管理部13006は、DEV−LINKコントローラ13011からの制御情報にしたがって、MPEG2−TSデータ作成およびバッファ管理部13010から渡されたMPEG2−TSデータを時間同期管理部13050へ渡す。その際、バッファ管理部13006の管理するバッファ13009は、一時的なバッファとして用いられる。
時間同期管理部13050は、DEVサイクルタイマ作成部13051から作成されたDEVサイクルタイマを取得し、DEVサイクルタイマとMPEG2−TSデータに付加されているタイムスタンプとに基づいて、FIFO13005に対してMPEG2−TSデータを出力するタイミングを調整する。また、当該MPEG2−TSデータをFIFO13005に対して出力するか否かの判断も行なう。DEVサイクルタイマ作成部13051におけるDEVサイクルタイマの作成については後述する。そして、時間同期管理部13050は、調整された所定のタイミングで、バッファ管理部13006から渡されたMPEG2−TSデータのうちの該当するMPEG2−TSデータをFIFO13005に出力する。
FIFO13005は、DEV−API層13000とDEV−LINK層13001との間を接続するバッファである。FIFO13005は、時間同期管理部13050によって格納されたMPEG2−TSデータを時間同期管理部13050からFIFO13005に出力されるタイミングに基づいた所定のタイミングで読出してDEV−API層13000のMPEG2 DECODER13004に渡す。MPEG2 DECODER13004は、FIFO13005から渡されたMPEG2−TSデータをデコードして映像信号(VIDEO)を生成し、図示されない出力部から出力する。MPEG2 DECODER13004は、先に図20を用いて説明された、従来のMPEG2 DECODERと同様の構成である。
次に、制御データの流れに沿ってDEVの構成を説明する。
DEV−LINKコントローラ13011からDEV−MAC層13002を介して制御データを送信する場合は、DEV−LINKコントローラ13011は、送信制御データをMLME−SAPフレーム作成および選択部13012に送る。
MLME−SAPフレーム作成および選択部13012は、DEV−LINKコントローラ13011から入力された送信制御データに基づいて、DEV−LINK層13001とDEV−MAC層13002との制御情報のインタフェース点であるMLME−SAPを介したアクセス方法に準拠したMLME−SAPフレームを作成する。そして、MLME−SAPフレーム作成および選択部13012は、作成されたMLME−SAPフレームをバッファ13013に一時的に格納する。
MLME−SAPフレーム作成および選択部13012では、通常は、バッファ13013に格納されたMLME−SAPフレームが逐次的にMLME−SAPフレーム送受信用バッファ13014に渡されるが、DEV−LINKコントローラ13011から送信の優先度を表わす優先度送信情報を受信した場合、優先度送信情報に基づいて該当するMLME−SAPフレームを優先的に送信するか否かが選択される。優先度の高いMLME−SAPフレームデータとしては、後述する時間情報等が挙げられる。
MLME−SAPフレーム作成および選択部13012によって選択されたMLME−SAPフレームは、MLME−SAPフレーム送受信用バッファ13014に渡される。MLME−SAPフレーム送受信用バッファ13014は、DEV−MAC層13002のMLME−SAPフレーム送受信用バッファ13017との間でMLME−SAPフレームの受渡しを行なう。
一方、DEV−LINKコントローラ13011でDEV−MAC層13002を介して制御データを受信する場合は、MLME−SAPフレーム送受信用バッファ13014から、DEV−MAC層13002のMLME−SAPフレーム送受信用バッファ13017より受信されたMLME−SAPフレームが、MLME−SAPフレーム解析および選択部13015に入力される。
MLME−SAPフレーム解析および選択部13015は、MLME−SAPフレーム送受信用バッファ13014から入力されたMLME−SAPフレームの内容(フレームタイプやデータ内容、パラメータ等)を解析して、DEV−LINKコントローラ13011に渡すMLME−SAPフレームを選択する。その際、後述する優先度設定制御データ情報によって指定された、たとえば時間情報等の制御データ情報は、他の受信制御データよりも優先的にDEV−LINKコントローラ13011に渡される。
続いて、図4を再度参照して、DEV−LINK層13001のMLME−SAPフレーム送受信用バッファ13014との間で受渡しされるMLME−SAPフレームは、DEV−MAC層13002のMLME−SAPフレーム送受信用バッファ13017に一時的に蓄積される。
DEV−LINK層13001のMLME−SAPフレーム送受信用バッファ13014から受信したMLME−SAPフレームは、DEV−MAC層13002のMLME−SAPフレーム送受信用バッファ13017からMLME−SAPフレーム解析部13024に渡され、MLME−SAPフレーム内の制御情報(データやパラメータ等)が解析される。そして、解析制御データはDEV−MACコントローラ13023へ渡される。
DEV−MACコントローラ13023は、MLME−SAPフレーム解析部13024から渡されたMLME−SAPフレームに含まれる解析制御データの内容に基づいて、DEV−MAC層13002とDEV−PHY層13003との制御情報のインタフェース点であるPLME−SAPを介したアクセス方法に準拠したPLME−SAPフレームを作成するための作成情報をPLME−SAPフレーム作成部13025に送る。PLME−SAPフレーム作成部13025は、DEV−MACコントローラ13023から入力された作成情報に基づいてPLME−SAPフレームを作成し、PLME−SAPフレーム送受信用バッファ13026へ渡す。
PLME−SAPフレーム送受信用バッファ11026は、DEV−PHY層13003とのフレームの送受信を行なうためのバッファである。DEV−PHY層13003とDEV−MAC層13002とはPHYフレームデータ送信部13029で接続され、PLME−SAPフレーム送受信用バッファ11026にPLME−SAPフレーム作成部13025からPLME−SAPフレームが入力されたら、DEV−PHY層13003に送信するためにPHYフレームデータ送信部13029に渡される。また、PHYフレームデータ受信部13030にDEV−PHY層13003からデータが受信されたら、入力されたデータはPLME−SAPフレーム送受信用バッファ11026に渡される。
PHYフレームデータ受信部13030からPLME−SAPフレーム送受信用バッファ13026に入力されたデータであるPLME−SAPフレームは、PLME−SAPフレーム解析部13027に渡され、PLME−SAPフレーム内のデータが解析される。そして、解析されたデータやパラメータは、受信解析データとしてDEV−MACコントローラ13023に入力される。
DEV−MACコントローラ13023は、PLME−SAPフレーム解析部13027から入力された受信解析データに基づいて、MLME−SAPフレームを作成するための作成情報をMLME−SAPフレーム作成部13028に送る。PLME−SAPフレーム作成部13028は、DEV−MACコントローラ13023から入力された作成情報に基づいてMLME−SAPフレームを作成し、MLME−SAPフレーム送受信用バッファ13017へ渡す。そして、MLME−SAPフレーム送受信用バッファ13017に一時的に蓄積されたMLME−SAPフレームは、DEV−LINK層13001のMLME−SAPフレーム送受信用バッファ13014に所定のタイミングで送信される。
先述のように、ピコネットを管理するPNCからは、ピコネットに属するDEVに対してビーコンフレームが送信されている。
DEV−PHY層13003でPNCからのビーコンフレームの送信は、DEV−PHY層13003からPHYフレームデータ受信部13030にPLME−SAPフレームが送信されることでDEV−MAC層13002に伝送される。PLME−SAPフレーム解析部13027は該PLME−SAPフレームを解析して得られた受信解析データをDEV−MACコントローラ13023に入力する。
PNC−MACコントローラ13023はDEV−LINK層13001のDEVサイクルタイマ作成部13051と接続されて、PLME−SAPフレーム解析部13027から入力された受信解析データに基づいてビーコン検出信号をDEVサイクルタイマ作成部13051に直接入力する。この、DEV−MACコントローラ13023からDEVサイクルタイマ作成部13051に直接入力されるビーコン検出信号を以降の説明においてビーコン検出信号Bと称する。
または、DEV−MACコントローラ13023は、PLME−SAPフレーム解析部13027から入力された受信解析データに基づいて、MLME−SAPフレームを作成するための作成情報をMLME−SAPフレーム作成部13028に送る。PLME−SAPフレーム作成部13028は、上述のように、DEV−MACコントローラ13023から入力された作成情報に基づいてMLME−SAPフレームを作成してMLME−SAPフレーム送受信用バッファ13017へ渡し、ビーコン検出信号としてDEV−LINK層13001のMLME−SAPフレーム送受信用バッファ13014に送信される。この、MLME−SAPフレームデータとしてDEV−LINK層13001に渡されるビーコン検出信号を以降の説明においてビーコン検出信号Aと称する。
DEVサイクルタイマ作成部13051は、ビーコン検出信号Aまたはビーコン検出信号Bであるビーコン検出信号の入力を受付け、入力されたビーコン検出信号と図示されないクロックジェネレータから発信されるDEV−MACクロックとを用いて、DEVサイクルタイマを作成する。さらに、作成されたDEVサイクルタイマとビーコン検出信号から得られるPNCサイクルタイマとを用いて、DEVサイクルタイマを合わせ込む処理を行なう。この処理については、後に詳述する。そして、DEVサイクルタイマ作成部13051は、合わせ込まれたDEVサイクルタイマを時間同期管理部13050へ渡す。なお、ビーコン検出信号としては、ビーコン検出信号Aおよびビーコン検出信号BのいずれかがPNCサイクルタイマ作成部11008に入力されてもよいし、両ビーコン検出信号が入力されて予め設定されたいずれか一方のビーコン検出信号が用いられてDEVサイクルタイマが作成されてもよい。
さらに、図1に示されたPNCサイクルタイマ作成部11008の構成について、図5を用いて説明する。
図5を参照して、PNCサイクルタイマ作成部11008は、基準タイマ生成部110080とPNCサイクルタイマ抽出部110081とを含んで構成される。
基準タイマ生成部110080は、PNC−LINKクロックの入力を受付けてカウントアップする。また、ビーコン検出信号の入力を受付けてカウントをリセットする。
PNCサイクルタイマ抽出部110081は、基準タイマ生成部110080でのカウンタ値を抽出し、PNCサイクルタイマとして出力する。
また、図3に示されたDEVサイクルタイマ作成部13051の構成について、図6を用いて説明する。
図6を参照して、DEVサイクルタイマ作成部13051は、PLL(Phase Locked Loop)130510と、基準タイマ生成部130511と、DEVサイクルタイマ抽出部130512と、DEVサイクルタイマ一時記憶部130513と、サイクルタイマ比較部130514とを含んで構成される。
PLL130510は出力された周波数と入力または基準周波数との位相差を検出して帰還回路を制御し、周波数を一致(同期)させる回路であって、DEV−LINKクロックの入力と、後述のサイクルタイマ比較部130514からの比較値の入力とを受付けて、DEV−LINKクロックを補正する。
基準タイマ生成部130511は、PLL130510から入力される補正されたクロック信号をカウントアップする。また、ビーコン検出信号の入力を受付けてカウントをリセットする。
DEVサイクルタイマ抽出部130512は、基準タイマ生成部130511でのカウンタ値を抽出し、DEVサイクルタイマ(CYC−TIME D(t))としてDEVサイクルタイマ一時記憶部130513に出力し、記憶させる。
サイクルタイマ比較部130514は、DEVサイクルタイマ一時記憶部130513に記憶されている以前のDEVサイクルタイマ(CYC−TIME D(t−1))と、ビーコン検出信号から抽出して得られるPNCサイクルタイマ(CYC−TIME P(t−1))とを比較し、その差分(±Δt)を得る。そして、サイクルタイマ比較部130514は、その差分(±Δt)に基づいた比較値をPLL130510に入力する。
PLL130510では、上述のように、たとえば差分(±Δt)である比較値を用いて、入力されるDEVサイクルタイマを補正する。
図7を用いて、上述のDEVサイクルタイマの補正方法について説明する。
図7を参照して、n−1番目のビーコンフレーム(BEACON(n−1))510の受信がDEV−MAC層13002で検出されると、ビーコン検出信号がDEV−MAC13002からDEV−LINK層13001へ伝送される。この際、ビーコン検出信号は、他のデータに優先してMLME−SAPを介してビーコン検出信号Aとして、またはMLME−SAPを介さずに直接ビーコン検出信号Bとして伝送される。同様に、BEACON(n−1)の送信がPNC−MAC層11002で検出されると、ビーコン検出信号が、ビーコン検出信号Aまたはビーコン検出信号BとしてPNC−MAC11002からPNC−LINK層11001へ伝送される。
このとき、PNC−LINK層11001のPNCサイクルタイマ作成部11008の基準タイマ生成部110080の内部タイマ、およびDEV−LINK層13001のDEVサイクルタイマ作成部13051の基準タイマ生成部130511の内部タイマは、上述のように初期値0となる。
PNC−LINK層11001に含まれる、PNCサイクルタイマ作成部11008を含んで構成されるPNCサイクルタイマ作成回路506は、ビーコンフレーム(BEACON(n−1))510のビーコン検出信号に基づいてPNCサイクルタイマ(CYC−TIME P(t−1))を作成する。そして、作成されたPNCサイクルタイマ(CYC−TIME P(t−1))に基づいて、PNC−LINK層11001のMLME−SAPフレーム作成および選択部11012(図1参照)においてMLME−SAPフレームが作成され、MLME−SAP508を介してPNC−MAC層11002に送られる。
PNC−MAC層11002では、次に送信されるビーコンフレーム(BEACON(n))509が生成される際に、PLME−SAPフレーム作成部11025においてPNCサイクルタイマ(CYC−TIME P(t−1))がASIE情報としてビーコンフレームであるPLME−SAPフレームに付加され、DEVに送信される。
DEV−LINK層13001に含まれる、DEVサイクルタイマ作成部13051を含んで構成されるDEVサイクルタイマ作成回路511は、ビーコンフレーム(BEACON(n−1))のビーコン検出信号に基づいてDEVサイクルタイマ(CYC−TIME D(n−1))を作成し、サイクルタイマ比較部130514に出力する。
次に、PNCから送信されたビーコンフレーム(BEACON(n))509について、DEV−MAC層13002においてビーコンフレーム509内にASIE情報としてPNCサイクルタイマ(CYC−TIME P(n−1))が付加されていれば、DEV−LINK層13001は、MLME−SAP514を介してPNCサイクルタイマ(CYC−TIME P(n−1))を取得し、DEVサイクルタイマ作成部13051に含まれるサイクルタイマ比較部130514に渡す。
サイクルタイマ比較部130514は、DEVサイクルタイマ(CYC−TIME D(n−1))とPNCサイクルタイマ(CYC−TIME P(n−1))とを比較して、その差分値をDEVサイクルタイマ作成回路511へ更新情報値として出力する。DEVサイクルタイマ作成回路511に含まれるPLL130510(図6参照)では、更新情報値に基づいて、作成されたDEVサイクルタイマ(CYC−TIME D(n−1))を補正する。
このように、本実施の形態においては、DEVにおいて、PNCから送られたPNCサイクルタイマと、DEV−LINKクロックに基づいたDEVで作成されたDEVサイクルタイマとを用いて、DEVサイクルタイマの補正が行なわれ、PNCサイクルタイマとDEVサイクルタイマとの同期を確保することができる。
なお、上述の実施の形態では、ビーコンフレームの送信周期に該当するPNCサイクルタイマがビーコンフレームに付加してPNCから送信されて、DEVにおいてDEVサイクルタイマの補正が行なわれるものとしている。しかしながら、PNCからビーコンフレームが送信される周期が予め定められた一定周期であり、その周期がDEVで把握されているものである場合には、必ずしもPNCサイクルタイマはビーコンフレームに付加してDEVに送られる必要はない。すなわち、上述の処理において、ビーコン検出信号から作成されたDEVサイクルタイマと、PNCサイクルタイマに替えて該周期とがDEV−LINKにおいて比較されることで、DEV単独でDEVサイクルタイマの補正が行なわれてもよい。
さらに、上述の具体的な説明では、ビーコンフレームの送信周期に該当するPNCサイクルタイマがビーコンフレームに付加して送信PNCから送信されて、DEVにおいてDEVサイクルタイマの補正が行なわれるため、ビーコンフレームの送信周期が固定でない場合であってもDEVにおいてDEVサイクルタイマの補正を行なうことが可能になる。
また、本実施の形態におけるPNCおよびDEVでは、ビーコン検出信号が他のデータに優先してMAC層からLINK層に伝送されることで、伝送遅れが発生しにくい。そのため、より正確にビーコンの検出時に基づいてサイクルタイマを作成することが可能になる。なお、ビーコン検出信号を他のデータに優先してビーコン検出信号Aまたはビーコン検出信号BとしてMAC層からLINK層に伝送するための各々の構成および処理について、以下に説明する。
始めに、図8を用いて、ビーコン検出信号がビーコン検出信号Bとして直接PNC−MAC層11002からPNC−LINK層11001に伝送される場合のPNC−MACコントローラ11023の構成を説明する。
図8を参照して、ビーコン検出信号がビーコン検出信号Bとして直接MAC層からLINK層に伝送される場合、PNC−MACコントローラ11023は、バッファ110230,110234、フレームタイプ選択部110231、MAC処理部110232、および信号生成部110233を含んで構成される。信号生成部110233はPNC−LINK層11001のPNCサイクルタイマ作成部11008に結線される。
図2を用いて説明されたように、PLME−SAPフレーム解析部11027は、PLME−SAPフレーム送受信バッファ11026に格納されたPLME−SAPフレームを読出して解析する。ここで解析されるPLME−SAPフレームは、ビーコンであることを示すビーコン情報がヘッダ等に含まれるデータ構造体、またはPNC−MAC層11002での処理に必要なパラメータやデータなどがひとまとまりになったデータ構造体である。PLME−SAPフレーム解析部11027では、具体的には、PLME−SAPフレームに付加されているPLME−SAPヘッダが解析され、PLME−SAPフレームからヘッダを除去したデータがPNC−MACコントローラ11023に入力される。入力されたデータ(PLME−SAPフレーム)は、バッファ110230に一時保存される。
バッファ110230にデータの入力があれば、フレームタイプ選択部110231はバッファ110230からデータを読出し、内容(フレームタイプ)の解析を行なう。そして、解析結果にしたがって、データを信号生成部110233またはMAC処理部110232に渡す。
データを信号生成部110233は、フレームタイプ選択部110231から渡されたデータに基づいてビーコンフレームの検出を示すビーコン検出信号を生成する。そして、生成したビーコン検出信号を、ビーコン検出信号Bとして、結線されているPNC−LINK層1101のPNCサイクルタイマ作成部11008に直接出力する。
一方、MAC処理部110232は、フレームタイプ選択部110231から渡されたデータに対して、該データに応じたMAC処理を行ない、必要に応じて送信パケットを作成してバッファ110234に格納する。バッファ110234に格納されたデータは、順次、MLME−SAPフレーム作成部11028に送られる。
さらに、図9を用いて、ビーコン検出信号がビーコン検出信号Bとして直接PNC−MAC層11002からPNC−LINK層11001に伝送される場合の処理の流れを説明する。
図9を参照して、始めに、バッファ110230において、PLME−SAPフレーム解析部11027からのデータ(PLME−SAPフレーム)の入力があるか否かが判定され(S101)、PLME−SAPフレーム解析部11027からバッファ110230にデータの入力があれば(S101でYES)、フレームタイプ選択部110231においてデータが解析される(S103)。ここでは、該データがビーコン情報を含むデータかその他のデータなのかが判定される。
ステップS103での解析の結果、データがビーコン情報を含むデータであれば(S105でYES)、信号生成部110233においてビーコンの検出を示すビーコン検出信号が生成され、PNC−LINK層1101のPNCサイクルタイマ作成部11008に出力される(S107)。ここでは、PNC−MAC層11002のPNC−MACクロック信号に同期させて、1クロック分に所定時間を加えた所定期間の間、「Hight」または「Low」の信号がビーコン検出信号BとしてPNCサイクルタイマ作成部11008に出力される。
一方、ステップS103での解析の結果、データがビーコン情報を含むデータでなかった場合(S105でNO)、データに応じてパラメータがセットされ、MAC処理部110232においてMAC処理が行なわれる。そして、データに応じて、つまりPNC−LINK層11001に転送するデータである場合には、該データに基づいて送信パケットが作成されて、バッファ110234へ出力される(S109)。
なお、ステップS101での判定の結果、バッファ110230にデータの入力がない場合には(S101でNO)、上述のステップS103,S105はスキップされて、ステップS109のMAC処理が実行される。
バッファ110234では、常に、バッファ内が空であるか否かが判定されて(S111)、バッファ内が空でない場合には(S111でNO)、バッファ内のデータが順次MLME−SAPフレーム作成部11028に出力される(S113)。そして、処理はステップS101、つまり、バッファ110230にデータの入力があるか否かの判定に戻される。
次に、図10を用いて、ビーコン検出信号がビーコン検出信号AとしてPNC−MAC層11002からPNC−LINK層11001に優先的にMLME−SAPを介して伝送される場合のPNC−MACコントローラ11023の構成を説明する。
図10を参照して、ビーコン検出信号がビーコン検出信号AとしてPNC−MAC層11002からPNC−LINK層11001に優先的にMLME−SAPを介して伝送される場合、図8に示されるPNC−MACコントローラ11023は、バッファ110230、フレームタイプ選択部110231、およびMAC処理部110232に加えて、優先度付加バッファ110235を含んで構成される。
図2を用いて説明されたように、PLME−SAPフレーム解析部11027は、PLME−SAPフレーム送受信バッファ11026に格納されたPLME−SAPフレームを読出して解析し、PLME−SAPフレームからヘッダを除去したデータをPNC−MACコントローラ11023に入力する。入力されたデータ(PLME−SAPフレーム)は、バッファ110230に一時保存される。
バッファ110230にデータの入力があれば、フレームタイプ選択部110231はバッファ110230からデータを読出し、内容(フレームタイプ)の解析を行なう。そして、ビーコン情報が含まれるデータの場合にはビーコン情報をデータから抽出し、ビーコン情報パケットを作成して優先度付加バッファ110235に優先度レベルを示す識別子(たとえば、5は高い、3は通常、1は低い等の数字など)と共に格納する。一方、ビーコン情報が含まれるデータでない場合にはMAC処理部110232にデータを渡す。
MAC処理部110232は、フレームタイプ選択部11231から渡されたデータに対して、該データに応じたMAC処理を行ない、必要に応じて送信パケットを作成して、識別子と共に優先度付加バッファ110235に格納する。
優先度付加バッファ110235に格納されたパケットは、付加された識別子に示される優先度に応じて出力される順序が変更され、MLME−SAPフレーム作成部11028に出力される。
さらに、図11を用いて、ビーコン検出信号がビーコン検出信号AとしてPNC−MAC層11002からPNC−LINK層11001に優先的にMLME−SAPを介して伝送される場合の処理の流れを説明する。
図11を参照して、始めに、バッファ110230において、PLME−SAPフレーム解析部11027からのデータ(PLME−SAPフレーム)の入力があるか否かが判定され(S201)、PLME−SAPフレーム解析部11027からバッファ110230にデータの入力があれば(S201でYES)、フレームタイプ選択部110231においてデータが解析される(S203)。ここでは、該データがビーコン情報を含むデータかその他のデータなのかが判定される。
ステップS203での解析の結果、データがビーコン情報を含むデータであれば(S205でYES)、ビーコン情報がデータから抽出されてビーコン情報パケットが作成され、優先度が高いことを示す識別子と共に優先度付加バッファ110235に格納される(S207)。
一方、ステップS203での解析の結果、データがビーコン情報を含むデータでなかった場合(S205でNO)、データに応じてパラメータがセットされ、MAC処理部110232においてMAC処理が行なわれる。そして、データに応じて、つまりPNC−LINK層11001に転送するデータである場合には、該データに基づいて送信パケットが作成されて、優先度がビーコン情報パケットほどは高くない程度であることを示す識別子と共に優先度付加バッファ110235に格納される(S209)。
なお、ステップS201での判定の結果、バッファ110230にデータの入力がない場合には(S201でNO)、上述のステップS203,S205はスキップされて、ステップS209のMAC処理が実行される。
優先度付加バッファ110235では、常に、バッファ内が空であるか否かが判定されて(S211)、バッファ内が空でない場合には(S211でNO)、パケットに付加された優先度に応じてパケットの出力する順序が変更され、優先度の高いパケットから順次MLME−SAPフレーム作成部11028に出力される(S213)。そして、処理はステップS201、つまり、バッファ110230にデータの入力があるか否かの判定に戻される。
MLME−SAPフレーム作成部11028において、パケットからMLME−SAPフレームが作成され、MLME−SAPを介してPNC−MAC層11002からPNC−LINK層11001に渡される。しかしながら、MLME−SAPを介してPNC−MAC層11002からPNC−LINK層11001に渡されるMLME−SAPフレームとしては、ビーコン検出信号によるものだけでなくビーコン検出信号以外のデータによるものもある。特に、リアルタイムでのMPEG2−TSデータの送受信が行なわれる場合にはデータ量が多く、ビーコン検出信号以外のデータによるMLME−SAPフレームも多い。そのため、PNC−MACコントローラ11023からMLME−SAPフレーム作成部11028へのパケットの転送処理や、MLME−SAPフレーム作成部11028でのMLME−SAPフレームの作成処理や、MLME−SAPフレーム送受信用バッファ11017,11014への書込み、読出しにおいて、キューイングが発生する。
しかしながら、上述のように、ビーコン情報パケットに優先度が高いことを示す識別子が付加されることで、ビーコン情報パケットやビーコン情報パケットから生成されるMLME−SAPフレームはキューイングすることなく、他のパケットやMLME−SAPフレームよりも優先して伝送される。
上述のビーコン検出信号Aまたはビーコン検出信号Bが使用されてDEVサイクルタイマが補正されることで、図12に示されるように、PNCサイクルタイマとDEVサイクルタイマとの間が同期されてくる。なお、上述の説明は、PNCにおけるビーコン検出信号Aまたはビーコン検出信号Bの伝送に関する説明であるが、DEVにおいても同様である。
図12を参照して、PNC−MAC層11002およびDEV−MAC層13002において各々ビーコンが検出されて、時刻(t0)にビーコン検出信号Aまたはビーコン検出信号Bが各々PNC−LINK層11001およびDEV−LINK層13001に伝送されると、ビーコン検出信号は、各々PMCサイクルタイマ作成部11008およびDEVサイクルタイマ作成部13051に入力される。基準タイマ生成部11008および基準タイマ生成部130510はリセットされ、カウントが開始される。そして、所定のサイクルタイマ抽出時間経過度におけるカウントがそれぞれPNCサイクルタイマPSCnt(t0)およびDEVサイクルタイマDSCnt(t0)として出力される。DEVサイクルタイマDSCnt(t0)は、DEVサイクルタイマ一時記憶部130513に一時的に記憶され、PNCサイクルタイマPSCnt(t0)は、次のビーコンフレームに付加されて、PNCからDEVに渡される。
次に、PNC−MAC層11002およびDEV−MAC層13002において各々ビーコンが検出されて、時刻(t1)にビーコン検出信号Aまたはビーコン検出信号Bが各々PNC−LINK層11001およびDEV−LINK層13001に伝送されると、同様に、ビーコン検出信号は、各々PMCサイクルタイマ作成部11008およびDEVサイクルタイマ作成部13051に入力される。同様に、基準タイマ生成部11008および基準タイマ生成部130510はリセットされ、カウントが開始される。そして、同様に、所定のサイクルタイマ抽出時間経過度におけるカウントがそれぞれPNCサイクルタイマPSCnt(t1)およびDEVサイクルタイマDSCnt(t1)として出力される。
その際、DEVでは、ビーコンフレームに付加されたPNCサイクルタイマPSCnt(t0)が取得される。そして、DEVにおいては、所定のタイミングである時刻(t1+tn)に、取得されたPNCサイクルタイマPSCnt(t0)を用いて、DEV−LINKクロックの補正が実行される。すなわち、取得されたPNCサイクルタイマPSCnt(t0)とDEVサイクルタイマ一時記憶部130513に一時的に記憶されたDEVサイクルタイマDSCnt(t0)とがサイクルタイマ比較部130514において比較されて比較値Δt1が取得され、Δt1がPLL130510にフィードバックされることで、比較値Δt1に応じた分だけDEVサイクルタイマがPNCサイクルタイマに合うように補正される。
この補正が行なわれることで、PNCサイクルタイマとDEVサイクルタイマとのずれの蓄積であるジッタの蓄積量は次のように変化する。すなわち、時刻(t1)にビーコン検出信号が入力されるまでは、補正前のPNCサイクルタイマとDEVサイクルタイマとのずれに応じた所定の傾きαでジッタが蓄積される。時刻(t1)においてカウンタがリセットされることで、PNCサイクルタイマとDEVサイクルタイマとの差が0となってずれがいったん解消されるものの、再び補正前のPNCサイクルタイマとDEVサイクルタイマとのずれに応じた所定の傾きαでジッタの蓄積が開始する。時刻(t1+tn)で上述の比較値Δt1に応じた分のDEVサイクルタイマの補正が行なわれることで、PNCサイクルタイマとDEVサイクルタイマとのずれが減少し、ジッタの蓄積の割合が、αよりも小さい所定の傾きβとなる。
このような補正を繰返すことで、PNCサイクルタイマとDEVサイクルタイマとのずれが徐々に減少し、PNCサイクルタイマとDEVサイクルタイマとの同期が確保されるようになる。なお、上述の具体例においては、ビーコンに付加されて取得された1つ前のビーコン検出信号によるPNCサイクルタイマPSCnt(t)と、1つ前のビーコン検出信号によるDEVサイクルタイマDSCnt(t)とが比較されてDEVサイクルタイマの補正が行なわれるものとしたが、以前に取得されたPNCサイクルタイマPSCnt(t)がDEVに蓄積されている場合には、蓄積された以前の複数のPNCサイクルタイマPSCnt(t)の平均などとDEVサイクルタイマDSCnt(t)とが比較されてDEVサイクルタイマの補正が行なわれてもよい。
次に、図13を用いて、DEV−LINK13001の時間同期管理部13050の構成について説明する。
図13を参照して、時間同期管理部13050は、タイムスタンプ抽出部130500、出力タイム計算部130501、およびパケット破棄判断部130502を含んで構成される。
タイムスタンプ抽出部130500は、バッファ管理部13006からMPEG2−TSデータの入力を受付けて、付加されているタイムスタンプを抽出する。そして、タイムスタンプ抽出部130500は、MPEG2−TSデータをパケット破棄判定部130502に、抽出されたタイムスタンプを出力タイム計算部130501に、各々渡す。
出力タイム計算部130501は、DEVサイクルタイマ作成部13051から補正されたDEVサイクルタイマを取得し、バッファ管理部13006からMPEG2−TSデータがパケット入力される間隔時間(タイマ値)を計算する。そして、その計算結果とタイムスタンプ抽出部130500から渡されたMPEG2−TSデータから抽出されたタイムスタンプとを比較し、比較結果に応じて、パケット破棄判定部130502に対してパケット出力許可信号またはパケット破棄指示信号を出力する。
パケット破棄判定部130502は、出力タイム計算部130501から入力されるパケット出力許可信号またはパケット破棄指示信号に応じて、タイムスタンプ抽出部130500から渡されたMPEG2−TSデータをFIFO13005に対してパケット出力、または破棄する。
さらに、図14を用いて、時間同期管理部13050でのMPEG2−TSデータの出力タイミングの調整処理について説明する。図14においては、PNC−API層11000からPNC−LINK層11001に入力され、DEV−LINK層13001からDEV−API層13000へ出力されるまでのMPEG2−TSデータの流れが示されている。
図14を参照して、始めに、PNC−API層11000のMPEG2− ENCODER11004でエンコードされて生成されたMPEG2−TSデータは、PNC−API層11000からFIFO1005を介してPNC−LINK層11001に入力される(S303)。その時、PNC−LINK層11001のバッファ管理部11006において、FIFO1005からPNC−LINK層11001に読出されたタイミングが、タイムスタンプとしてMPEG2−TSデータの先頭に付加される(S305)。なお、この時に付加されるタイムスタンプは、PNCサイクルタイマ作成部11008で作成される、上述の補正が施された(S301)PNCサイクルタイマに基づくものである。
PNC−LINK層11001においては、タイムスタンプが付加された複数のMPEG2−TSデータが集められてヘッダが付加され、1つのMPEG2−TSデータとして構成される(S309)。そして、PNC−LINK層11001からPNC−MAC層11002へ、MAC−SAPフレームとしてMAC−SAPを介して入力される(S311)。
PNC−MAC層11002においては、入力された複数のMPEG2−TSデータが集められてMACヘッダが付加され、1つのMACデータとして構成される(S313)。そして、PNC−MAC層11002からPNC−PHY層11003へ、PHY−SAPフレームとしてPHY−SAPを介して入力される(S315)。さらに、PNC−PHY層11003からDEVに対して、UWBワイヤレス技術を利用して伝送される。伝送されたMACデータはDEV−PHY層13003で受信され、DEV−PHY層13003からDEV−MAC層13002にPHY−SAPを介して入力される(S317)。
DEV−MAC層13002においては、PHY−SAPを介してDEV−PHY層13003から入力されたMACデータからMACヘッダが除去され、分割されて、複数のMPEG2−TSデータが取得される(S319)。そして、分割して得られた複数のMPEG2−TSデータは、MAC−SAPフレームとしてMAC−SAPを介してDEV−LINK層13001に入力される(S321)。
DEV−LINK層13001においては、入力された複数のMPEG2−TSデータからヘッダが除去され、分割されて、複数の、タイムスタンプが付加されたMPEG2−TSデータが取得される(S323)。さらに、時間同期管理部13050のタイムスタンプ抽出部130500において、MPEG2−TSデータから付加されたタイムが取出される(S325)。
時間同期管理部13050の出力タイム計算部13050では、MPEG2−TSデータから取出されたタイムスタンプの値とDEVサイクルタイマ作成部13051で作成されたサイクルタイマ作成部から生成されるタイム値とが比較され(S327)、それらの値が等しければ、そのMPEG2−TSデータをそのDEVサイクルタイマに基づいたタイミングでFIFO13005に対してパケット出力する(S331)。または、それらの値が等しくなければ、そのMPEG2−TSデータをFIFO13005に出力せずに破棄する(S329)。
さらに、上述の出力タイム計算部13050でのパケットを破棄するか否かの判定のための計算方法を以下に具体的に述べる。
今、タイムスタンプが付加されたMPEG2−TSデータが、パケット1,パケット2,パケット3・・・と理想的にPNCからDEVに伝送されている場合、DEV−LIN層13001で受信されるMPEG2−TSデータのパケット間隔は、PNC−API層11000からPNC−LINK層11001に入力されるパケット間隔(周期T1,周期T2,周期T3・・・)が保持されている。この、PNC−API層11000からPNC−LINK層11001に入力されるタイミングはPNCサイクルタイマに基づいてタイムスタンプとして各々MPEG2−TSデータに付加されている。
すなわち、
周期T1=パケット2のタイムスタンプ−パケット1のタイムスタンプ
・・・
周期N=パケット(N+1)のタイムスタンプ−パケットNのタイムスタンプ
とすれば、送信側であるPNCの、FIFO1005からPNC−LINK層11001にMPEG2−TSデータがパケット出力される間隔である周期Nは、その周期の前後のパケットに付加されたタイムスタンプの値に基づいて計算される。
受信側であるDEVでは、時間同期管理部13050の出力タイム計算部13050において、補正されたDEVサイクルタイマに基づいて、パケットNがバッファ管理部13006からパケット入力されたタイミング(RxT(N))とパケット(N+1)がパケット入力されたタイミング(RxT(N+1))とからパケット間隔(RxT(N+1)−RxT(N))を計算する。そして、パケット間隔と周期Nとが等しいか否かを判定する。
つまり、
RxT(N+1)−RxT(N)=パケット(N+1)のタイムスタンプ−パケットNのタイムスタンプ
が満たされる場合には、当該MPEG2−TSデータをFIFO13005に対して入力されたタイミングでパケット出力すると判定され、パケット出力許可信号がパケット破棄判定部130502に出力される。
一方、上の式が満たされない場合には、当該MPEG2−TSデータを破棄すると判定され、パケット破棄指示信号がパケット破棄判定部130502に出力される。
なお、実際は、時間同期管理部13050内部で上述のような計算が行なわれるため、その計算時間として一定の遅延量dが考慮されて、
RxT(N+1)−RxT(N)=パケット(N+1)のタイムスタンプ−パケットNのタイムスタンプ+d
が満たされるか否かで判定される。
上述のように、本実施の形態にかかる送信装置であるPNCおよび受信装置であるDEVでは、ビーコンフレームを利用してPNCサイクルタイマとDEVサイクルとの同期が確保される。すなわち、PNC−LINKクロックとDEV−LINKクロックとが同期される。
このため、PNCからPNC−LINKクロックに基づいたタイミングで送信されたMEPG2−TSデータは、PNC−LINKクロックと同期したDEV−LINKクロックに基づいたタイミングでDEV−LINK層に入力される。DEV−LINK層からDEV−API層のMEPG2−TS DECODERには、DEV−LINKクロックに基づいたタイミングでMEPG2−TSデータが渡されるため、各層が基本とするクロックが同期されてMEPG2−TSの送受信における層間のジッタを抑えることができ、本実施の形態にかかるPNCおよびDEVはジッタ補正装置として有効に機能する。
なお、上述の実施の形態においては、API層にMPEG2−TSシステムを実装し、MEPG2−TSにおけるデータの送受信を行なう場合について具体的に述べたが、本実施の形態にかかるPNCおよびDEVの構成は、MEPG2−TSに限定されず、リアルタイムでデータの伝送を行なう場合には有効である。つまり、MPEG2−TSのPCRが含まれるパケットデータのように、時刻情報が付加されるパケットデータの送受信を行なうシステムであれば、本実施例の範囲に含まれる。具体的には、インターネットで利用されるRTP(Real-time Transport Protocol)やRTCP(Real-time Transport Control Protocol)を用いてパケットデータを送受信するようなシステムが挙げられる。インターネットにおける音声や映像ストリームの伝送方式は、RTP、RTCPというプロトコルによって規定されている。RTPは、メディア同期が受信側で可能となるように、音声データや映像データに時間情報を付加して伝送する際のパケット形式を規定するプロトコルである。また、RTCPは、音声や映像のストリームに対するメディア同期のための基準時間情報を伝送する手順やその時間情報を利用して同期する方法を規定するプロトコルである。
さらに、図14を用いて説明されたように、PNC−LINK層へのMEPG2−TSデータの入力タイミングがPNCサイクルタイマに基づいたタイムスタンプとしてMEPG2−TSデータに付加され、かかるタイムスタンプに基づいて計算されるPNC−LINK層へのパケットの入力間隔と、DEV−LINK層においてDEVサイクルタイマに基づいて得られるDEV−LINK層へのパケット入力間隔とに応じて、DEV−API層のMEPG2−TS DECODERに対して出力されるか否かが判定される。このため、DEVサイクルタイマがPNCサイクルタイマと同期しきれていない内に、DEV−LINKクロックに基づいたタイミングでDEV−LINK層に入力されたMEPG2−TSデータなど、送信のタイミングと一致しないタイミングで受信されたMEPG2−TSデータがMEPG2−TS DECODERに対して出力されることを防ぐことができる。つまり、クロックが一致していないために層間のデータの送受信が不完全である可能性のあるMEPG2−TSデータがMEPG2−TS DECODERに対して出力されることが防止される。
また、MEPG2−TS DECODERでは、先に図20を用いて説明されたように、MPEG2 ENCODERのSTC(System Time Clock)に基づいて、MPEG2 ENCODERからのMPEG2−TSデータの送信時刻に応じてMPEG2−TSパケットに埋め込まれる時刻情報であるタイムスタンプを用いて、MPEG2 ENCODERのクロックと同期させる処理が行なわれる。上述のように、層間のデータの送受信が完全に行なわれたMEPG2−TSデータがMEPG2−TS DECODERに入力されることで、MEPG2−TS DECODERのクロックとMPEG2 ENCODERのクロックとが適切に同期され、MPEG2システム自体の動作が保証されることになる。
なお、上述の実施の形態においては、PNCからDEVに送信されるビーコンフレームが消失せずにDEVにおいてビーコンフレームが検出されるものとしているが、図15を用いて、ビーコンフレームが消失した場合にも対応することが可能なDEV−LINK層13001の構成について説明する。
図15を参照して、この場合のDEV−LINK層13001は、図3に示された構成に加えて、遅延時間判定部13052および遅延時間設定部13053をさらに含んで構成される。なお、DEVサイクルタイマ生成部13051は、図6を用いて説明されたDEVサイクルタイマ生成部13051の構成と同様である。
この場合において、DEV−LINKコントローラ13011は、MLME−SAPフレーム解析および選択部13015から渡された解析結果に基づいて、ビーコンフレームであるMLME−SAPフレームからビーコンフレームの周期の情報とビーコン精度の情報とを取出し、遅延時間設定部13053に渡す。ビーコン精度とは、ビーコンの誤差を規定した量である。ビーコンは、ビーコン周期に基づいて一定間隔で送信されるものであるが、ビーコンを作成するPNCのPHY層のクロックの精度により、一定間隔のビーコン周期がずれる可能性がある。ビーコン精度とは、その「ずれる可能性」を示した値である。つまり、ビーコン精度が少ない程、ビーコンの周期が一定間隔であることを示している。
遅延時間設定部13053は、DEV−LINKコントローラ13011から渡されたビーコンフレームの周期の情報とビーコン精度の情報とに基づいてビーコンフレームの遅延時間を設定する。
遅延時間判定部13052は、DEV−MACコントローラからのビーコン検出信号(ビーコン検出信号B)、またはDEV−LINKコントローラ13011からのビーコン検出信号(ビーコン検出信号A)の入力を監視し、遅延時間設定部13053で設定された遅延時間内にビーコン検出信号の入力があればDEVサイクルタイマ作成部13051に対してビーコン検出信号を出力する。一方、遅延時間設定部13053で設定された遅延時間内にビーコン検出信号の入力がない場合には、仮想的に生成されたビーコン検出信号である仮想ビーコン検出信号をDEVサイクルタイマ作成部13051に対してすぐに出力する。
さらに、図16を用いて、ビーコンフレームが消失した場合にも対応することが可能なDEV−LINK層13001における処理ついて説明する。
図16を参照して、始めに、DEV−MAC層13002からMLME−SAPフレームとしてビーコンフレームがDEV−LINK層13001に入力されると(S401でYES)、DEV−LINKコントローラ13011においてMLME−SAPフレームからビーコンフレームの周期の情報とビーコン精度の情報とが抽出され、遅延時間設定部13053に渡されて遅延時間設定部13053の内部メモリに格納される(S403)。
次に、遅延時間設定部13053において、内部メモリからビーコンフレームの周期の情報とビーコン精度の情報とが取出され、遅延時間が設定される(S405)。ステップS405では、ビーコンフレームの周期の情報、ビーコン精度の情報に基づいた処理時間、およびDEV−LINKクロックから得られるクロック誤差が用いられ、
遅延時間=周期(Tsec)+処理時間+クロック誤差
が計算されて遅延時間が設定される。
次に、遅延時間判定部13052においてビーコン検出信号の入力が監視される(S407)。すなわち、遅延時間判定部13052にビーコン検出信号の入力があれば、そのままDEVサイクルタイマ作成部13051に対してビーコン検出信号が出力される(S409)。
一方、ビーコン検出信号の入力がないままにステップS408で設定された遅延時間が経過した場合には(S407でNO、かつS411でYES)、遅延時間判定部13052において仮想ビーコン検出信号が生成されて、DEVサイクルタイマ作成部13051に対してすぐに仮想ビーコン検出信号が出力される(S413)。なお、遅延時間を経過しないうちは(S411でNO)、上述のステップS407のビーコン検出信号の入力の監視が継続される。
DEV−LINK層13001において上述の処理がなされることで、たとえPNCから送信されたビーコンフレームの入力を表わす検出信号が部分的に消失した場合であっても、内部メモリに格納されている、ビーコンフレームが検出できていた、以前の情報(フレーム周期、ビーコン精度等)に基づいて直ちに仮想ビーコン検出信号を発生させることが可能になる。そのため、このような場合であっても、仮想ビーコン検出信号を用いてPNCサイクルタイマとDEVサイクルタイマとの同期をできる限り確保することが可能となる。
なお、本実施の形態においては、従来、物理層間の同期を確保して通信を可能にするために用いられていた同期確保信号であるPNCからDEVに送信されるビーコンフレームを用いてLINK層のクロックの同期を確保するものとしたが、言うまでもなく、用いられる同期確保信号はビーコンフレームに限定されずに同様の働きをする他の信号であってもよい。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
401 PNC、102 DEV、403,405 ビーコンフレーム、506 PNCサイクルタイマ作成回路、508,514,1012 MLME−SAP、509,510 BEACON、511 DEVサイクルタイマ作成回路、1001 PHY層、1002 MAC層、1003 FCS層、1004 DEM、1005 MLME、1006 PLME、1007 データ、1008 PCSL−SAP、1009 MAC−SAP、1010 PHY−SAP、1011 制御情報、1013 PLME−SAP、1014 MLME−PLME−SAP、1031,11004 MPEG2 ENCODER、1032,13004 MPEG2 DECODER、1033 PCR、1034 MPEG2−TSパケット、1035,1037 STC、1036,13010 PLL、1051 ゆらぎ、11000 PNC−API層、11001 PNC−LINK層、11002 PNC−MAC層、11003 PNC−PHY層、11005,11040,13005,13040 FIFO、11006,13006 バッファ管理部、11007 タイムスタンプ作成部、11008 PNCサイクルタイマ作成部、11009,11013,11016,11019,11021,11041,13009,13013,13016,13019,13021,13041,110230,110234 バッファ、11010 MAC−SAPフレーム作成およびバッファ管理部、11011 PNC−LONKコントローラ、11012,13012 MLME−SAPフレーム作成および選択部、11014,11017,13014,13017 MLME−SAPフレーム送受信用バッファ、11015,13015 MLME−SAPフレーム解析および選択部、11018,13018 MAC−SAPフレーム受信バッファ管理部、11020 PHY−SAPフレーム作成および受信バッファ管理部、11023 PNC−MACコントローラ、11024,13024 MLME−SAPフレーム解析部、11025,13025 PLME−SAPフレーム作成部、11026,13026 PLME−SAPフレーム送受信用バッファ、11027,13027 PLME−SAPフレーム解析部、11028,13028 MLME−SAPフレーム作成部、11029,13030 PHYフレームデータ受信部、11030,13029 PHYフレームデータ送信部、13000 DEV−API層、13001 DEV−LINK層、13002 DEV−MAC層、13003 DEV−PHY層、13050 時間同期管理部、13051 DEVサイクルタイマ作成部、13052 遅延時間判定部、13053 遅延時間設定部、13010 MPEG2−TSデータ作成およびバッファ管理部、13011 DEV−LINKコントローラ、13020 MAC−SAPフレーム作成および受信バッファ管理部、13023 DEV−MACコントローラ、110080,130511 基準タイマ生成部、110081 PNCサイクルタイマ抽出部、110231 フレームタイプ選択部、110232 MAC処理部、110233 信号生成部、110235 優先度付加バッファ、130500 タイムスタンプ抽出部、130501 出力タイム計算部、130502 パケット破棄判定部、130512 DEVサイクルタイマ抽出部、150513 DEVサイクルタイマ一時記憶部、150514 サイクルタイマ比較部。