以下、本発明の実施の形態について、図面を参照しながら説明する。図1に示されるように、本発明に係る携帯電話機1の近傍には、本発明に係る対向機器2として適用可能なヘッドセット2−aまたはカーナビゲーションなどの車載器2−bが配置されている。対向機器2は、携帯電話機1から無線通信(例えばブルートゥースなど)を用いて転送されたオーディオデータを受信し、リアルタイムに再生することができる。また、ハンズフリー制御により発着信時における呼制御を行うことができる。対向機器2には、携帯電話機1に対して無線通信を介してリモート操作することが可能なリモコン(図示せず)が設けられているとともに、種々の情報を表示するための表示部(図示せず)が設けられている。
図2は、本発明に係る携帯電話機1の外観の構成を表している。なお、図2(A)は、携帯電話機1を約180度に見開いたときの正面から見た外観の構成を表しており、図2(B)は、携帯電話機1を見開いたときの側面から見た外観の構成を表している。
図2(A)および(B)に示されるように、携帯電話機1は、中央のヒンジ部11を境に第1の筐体12と第2の筐体13とがヒンジ結合されており、ヒンジ部11を介して矢印X方向に折り畳み可能に形成される。携帯電話機1の内部の所定の位置には、送受信用のアンテナ(後述する図3のアンテナ31)が設けられており、内蔵されたアンテナを介して基地局(図示せず)との間で電波を送受信する。
第1の筐体12には、その表面に「0」乃至「9」の数字キー、発呼キー、リダイヤルキー、終話・電源キー、クリアキー、および電子メールキーなどの操作キー14が設けられており、操作キー14を用いて各種指示を入力することができる。
第1の筐体12には、操作キー14として上部に十字キーと確定キーが設けられており、ユーザが十字キーを上下左右方向に操作することにより当てられたカーソルを上下左右方向に移動させることができる。具体的には、第2の筐体13に設けられたメインディスプレイ17に表示されている電話帳リストや電子メールのスクロール動作、簡易ホームページのページ捲り動作および画像の送り動作などの種々の動作を実行する。
また、確定キーを押下することにより、種々の機能を確定することができる。例えば第1の筐体12は、ユーザによる十字キーの操作に応じてメインディスプレイ17に表示された電話帳リストの複数の電話番号の中から所望の電話番号が選択され、確定キーが第1の筐体12の内部方向に押圧されると、選択された電話番号を確定して電話番号に対して発呼処理を行う。
さらに、第1の筐体12には、十字キーと確定キーの左隣に電子メールキーが設けられており、電子メールキーが第1の筐体12の内部方向に押圧されると、メールの送受信機能を呼び出すことができる。十字キーと確定キーの右隣には、ブラウザキーが設けられており、ブラウザキーが第1の筐体12の内部方向に押圧されると、Webページのデータを閲覧することが可能となる。
また、第1の筐体12には、操作キー14の下部にマイクロフォン15が設けられており、マイクロフォン15によって通話時のユーザの音声を集音する。また、第1の筐体12には、携帯電話機1の操作を行うサイドキー16が設けられている。
なお、第1の筐体12は、背面側に図示しないバッテリパックが挿着されており、終話・電源キーがオン状態になると、バッテリパックから各回路部に対して電力が供給されて動作可能な状態に起動する。
一方、第2の筐体13には、その正面にメインディスプレイ17が設けられており、電波の受信状態、電池残量、電話帳として登録されている相手先名や電話番号及び送信履歴等の他、電子メールの内容、簡易ホームページ、CCD(Charge Coupled Device)カメラ(後述する図3のCCDカメラ20)で撮像した画像、外部のコンテンツサーバ(図示せず)より受信したコンテンツ、メモリカード(後述する図3のメモリカード46)に記憶されているコンテンツを表示することができる。また、メインディスプレイ17の上部の所定の位置にはレシーバ(受話器)18が設けられており、これにより、ユーザは音声通話することが可能である。なお、携帯電話機1の所定の位置には、レシーバ18以外の音声出力部としてのスピーカ50も設けられている。
また、第1の筐体12と第2の筐体13の内部の所定の位置には、携帯電話機1の状態を検知するための磁気センサ19a、19b、19c、および19dが設けられる。
図3は、本発明に係る携帯電話機1の内部の構成を表している。図示せぬ基地局から送信されてきた無線信号は、アンテナ31で受信された後、アンテナ共用器(DUP)32を介して受信回路(RX)33に入力される。受信回路33は、受信された無線信号を周波数シンセサイザ(SYN)34から出力された局部発振信号とミキシングして中間周波数信号に周波数変換(ダウンコンバート)する。そして、受信回路33は、このダウンコンバートされた中間周波数信号を直交復調して受信ベースバンド信号を出力する。なお、周波数シンセサイザ34から発生される局部発振信号の周波数は、制御部41から出力される制御信号SYCによって指示される。
受信回路33からの受信ベースバンド信号は、CDMA信号処理部36に入力される。CDMA信号処理部36は、図示せぬRAKE受信機を備える。このRAKE受信機では、受信ベースバンド信号に含まれる複数のパスがそれぞれの拡散符号(すなわち、拡散された受信信号の拡散符号と同一の拡散符号)で逆拡散処理される。そして、この逆拡散処理された各パスの信号は、位相が調整された後、コヒーレントRake合成される。Rake合成後のデータ系列は、デインタリーブおよびチャネル復号(誤り訂正復号)が行われた後、2値のデータ判定が行われる。これにより、所定の伝送フォーマットの受信パケットデータが得られる。この受信パケットデータは、圧縮伸張処理部37に入力される。
圧縮伸張処理部37は、DSP(Digital Signal Processor)などにより構成され、CDMA信号処理部36から出力された受信パケットデータを図示せぬ多重分離部によりメディアごとに分離し、分離されたメディアごとのに対してそれぞれ復号処理を行う。例えば通話モードにおいては、受信パケットデータに含まれる通話音声などに対応するオーディオデータをスピーチコーデックにより復号する。また、例えばテレビ電話モードなどのように、受信パケットデータに動画像データが含まれていれば、この動画像データをビデオコーデックにより復号する。さらに、受信パケットデータがダウンロードコンテンツであれば、このダウンロードコンテンツを伸張した後、伸張されたダウンロードコンテンツを制御部41に出力する。
復号処理により得られたディジタルオーディオ信号はPCMコーデック38に供給される。PCMコーデック38は、圧縮伸張処理部37から出力されたディジタルオーディオ信号をPCM復号し、PCM復号後のアナログオーディオデータ信号を受話増幅器39に出力する。このアナログオーディオ信号は、受話増幅器39にて増幅された後、レシーバ18により出力される。
圧縮伸張処理部37によりビデオコーデックにて復号されたディジタル動画像信号は、制御部41に入力される。制御部41は、圧縮伸張処理部37から出力されたディジタル動画像信号に基づく動画像を、図示せぬビデオRAM(例えばVRAMなど)を介してメインディスプレイ17に表示させる。なお、制御部41は、受信された動画像データだけでなく、CCDカメラ20により撮像された動画像データに関しても、図示せぬビデオRAMを介してメインディスプレイ17に表示させることも可能である。
また、圧縮伸張処理部37は、受信パケットデータが電子メールである場合、この電子メールを制御部41に供給する。制御部41は、圧縮伸張処理部37から供給された電子メールを記憶部42に記憶させる。そして、制御部41は、ユーザによる入力部としての操作キー14の操作に応じて、記憶部42に記憶されているこの電子メールを読み出し、読み出された電子メールをメインディスプレイ17に表示させる。
一方、通話モードにおいて、マイクロフォン15に入力された話者(ユーザ)の音声信号(アナログオーディオ信号)は、送話増幅器40により適正レベルまで増幅された後、PCMコーデック38によりPCM符号化される。このPCM符号化後のディジタルオーディオ信号は、圧縮伸張処理部37に入力される。また、CCDカメラ20から出力される動画像信号は、制御部41によりディジタル化されて圧縮伸張処理部37に入力される。さらに、制御部41にて作成されたテキストデータである電子メールも、圧縮伸張処理部37に入力される。
圧縮伸張処理部37は、PCMコーデック38から出力されたディジタルオーディオ信号を所定の送信データレートに応じたフォーマットで圧縮符号化する。これにより、オーディオデータが生成される。また、圧縮伸張処理部37は、制御部41から出力されたディジタル動画像信号を圧縮符号化して動画像データを生成する。そして、圧縮伸張処理部37は、これらのオーディオデータや動画像データを図示せぬ多重分離部で所定の伝送フォーマットに従って多重化した後にパケット化し、パケット化後の送信パケットデータをCDMA信号処理部36に出力する。なお、圧縮伸張処理部37は、制御部41から電子メールが出力された場合にも、この電子メールを送信パケットデータに多重化する。
CDMA信号処理部36は、圧縮伸張処理部37から出力された送信パケットデータに対し、送信チャネルに割り当てられた拡散符号を用いてスペクトラム拡散処理を施し、スペクトラム拡散処理後の出力信号を送信回路(TX)35に出力する。送信回路35は、スペクトラム拡散処理後の信号をQPSK(Quadrature Phase Shift Keying)方式などのディジタル変調方式を使用して変調する。送信回路35は、ディジタル変調後の送信信号を、周波数シンセサイザ34から発生される局部発振信号と合成して無線信号に周波数変換(アップコンバート)する。そして、送信回路35は、制御部41により指示される送信電力レベルとなるように、このアップコンバートにより生成された無線信号を高周波増幅する。この高周波増幅された無線信号は、アンテナ共用器32を介してアンテナ31に供給され、このアンテナ31から図示せぬ基地局に向けて送信される。
また、携帯電話機1は、外部メモリインタフェース45を備えている。この外部メモリインタフェース45は、メモリカード46を着脱することが可能なスロットを備えている。メモリカード46は、NAND型フラッシュメモリカードやNOR型フラッシュメモリカードなどに代表されるフラッシュメモリカードの一種であり、10ピン端子を介して画像や音声、音楽等の各種データの書き込み及び読み出しが可能となっている。さらに、携帯電話機1には、ブルートゥース(Bluetooth(登録商標))による無線通信を行うブルートゥースモジュール47が設けられており、携帯電話機1の近傍に存在するヘッドセット2などと無線通信を行う。勿論、ブルートゥース以外の無線通信(例えば赤外線通信)を用いるようにしてもよい。さらに、携帯電話機1には、現在の正確な現在の時刻を測定する時計回路(タイマ)48が設けられている。
制御部41は、CPU(Central Processing Unit)、ROM(Read Only Memory)、およびRAM(Random Access Memory)などからなり、CPUは、ROMに記憶されているプログラムまたは記憶部42からRAMにロードされた各種のアプリケーションプログラムに従って各種の処理を実行するとともに、種々の制御信号を生成し、各部に供給することにより携帯電話機1を統括的に制御する。RAMは、CPUが各種の処理を実行する上において必要なデータなどを適宜記憶する。
また、制御部41は、対向機器2との間でデータの授受を行う際に、例えばOBEX(Object Exchange)やRFCOMM(RS232 Serial Cable Emulation Profile)、SDP(Service Discovery Protocol)などの通信プロトコルを用いて、A2DPやHFP、AVRCP(Audio/Video Remote Control Profile)などの種々のプロファイルに応じたブルートゥースモジュール47による通信を統括的に制御する。なお、これらの通信プロトコルやプロファイルなどは、上位のアプリケーションプログラムから下位の物理層まで順次積み重なったスタック構造をなしている。
なお、“Hands-Free Profile(HFP)”の仕様においては、ローミングステータス通知機能、オペレータ名取得機能、サービスステータス通知機能、およびステータス取得機能が規定されている。ローミングステータス通知機能およびオペレータ名取得機能については上述した通りである。サービスステータス通知機能は、携帯電話機1が圏内の状態にあるか、または圏外の状態にあるかを対向機器2に通知する機能である。具体的には、携帯電話機1が圏内の状態にある場合、サービスステータスは圏内となり、携帯電話機1はサービスステータスが圏内であることを示すservice値“1”を対向機器2に通知し、携帯電話機1が圏外の状態にある場合、サービスステータスは圏外となり、携帯電話機1はサービスステータスが圏外であることを示すservice値“0”を対向機器2に通知する機能である。ステータス取得機能は、対向機器2からの要求に応じて、携帯電話機1からローミングステータスおよびサービスステータス、発着信、保留中であるか否かを示すステータスなどを応答する機能である。
記憶部42は、例えば、電気的に書換えや消去が可能な不揮発性メモリであるフラッシュメモリ素子やHDD(Hard Disc Drive)などからなり、制御部41のCPUにより実行される種々のアプリケーションプログラムや種々のデータ群を格納している。電源回路44は、バッテリ43の出力を基に所定の動作電源電圧Vccを生成して各回路部に供給する。
ところで、従来の“Hands-Free Profile(HFP)”の仕様においては、ローミングステータスの変化時にローミングステータスを通知する(すなわち、ローミングステータスを示すroaming値“0”または“1”を通知する)ことのみ規定されており、ローミングステータスの変化時以外でのローミングステータスの通知に関しては規定されておらず、規定の解釈上曖昧な点が多々存在していた。具体的には、図4に示されるように、例えば携帯電話機1が国内からドイツやフランスに移動した場合、ローミングステータスはローミングインアクティブからローミングアクティブに変化し、ローミングステータスを示すroaming値も“0”から“1”に変化することから、携帯電話機1から対向機器2に対してローミングステータス(ローミングステータスを示すroaming値“1”)が通知される。これに対して、例えば携帯電話機1がドイツやフランスから国内に移動した場合、ローミングステータスはローミングアクティブからローミングインアクティブに変化し、ローミングステータスを示すroaming値も“1”から“0”に変化することから、携帯電話機1から対向機器2に対してローミングステータス(ローミングステータスを示すroaming値“0”)が通知される。
しかしながら、例えば携帯電話機1がドイツからフランスに越境して移動した場合、ローミングステータスはローミングアクティブのままで維持され、roaming値は“1”のままで維持されることから、ローミングステータス(ローミングステータスを示すroaming値)は対向機器2に対して通知されず、携帯電話機1の表示画面に表示されるオペレータ名と、対向機器2の表示画面に表示されるオペレータ名とが一致しないという状況が発生してしまう。図4の場合、例えば携帯電話機1がドイツからフランスに越境して移動し、オペレータ名が「オペレータA」から「オペレータB」に変化しても、roaming値は“1”のままで維持されることから、ローミングステータス(ローミングステータスを示すroaming値)は対向機器2に対して通知されず、携帯電話機1の表示画面に表示されるオペレータ名(「オペレータB」)と、対向機器2の表示画面に表示されるオペレータ名(「オペレータA」)とが一致しないという状況が発生しうる。
なお、“Hands-Free Profile(HFP)”の仕様においては、対向機器2から携帯電話機1に対してのオペレータ名取得要求の送信タイミングは明確には規定されておらず、対向機器2の実装に依存する部分が大きいが、一般的に対向機器2は、携帯電話機1からローミングステータスの通知またはサービスステータスの通知を受信すると、自動的にまたは所定のタイミングで携帯電話機1に対してオペレータ名取得要求を送信する。すなわち、“Hands-Free Profile(HFP)”の仕様上、携帯電話機1から主体的にオペレータ名を対向機器2に通知することは想定されていない。
そこで、ローミングステータスはローミングアクティブのままで維持され、roaming値は“1”のままで維持される場合であっても、オペレータ名が変化したときには、携帯電話機1はローミングステータス(ローミングステータスを示すroaming値)を対向機器2に対して再通知(再実施)するようにする。これにより、対向機器2は、再通知されたローミングステータス(ローミングステータスを示すroaming値)をトリガとして、携帯電話機1に対してオペレータ名取得要求を送信することが可能となる。以下、この方法を用いた処理について説明する。
図5は、基地局網、携帯電話機1、および対向機器2との間における本発明に係る処理を示すシーケンス図である。なお、図5のシーケンス図の場合、例えば携帯電話機1がドイツからフランスに越境して移動し、オペレータ名が「オペレータA」から「オペレータB」に変化した場合を想定する。従って、オペレータ名が「オペレータA」から「オペレータB」に変化する前においては、携帯電話機1と対向機器2のいずれも、「service値“1”、roaming値は“1”、オペレータA」と認識している(ステップS11とステップS31)。また、本発明の実施形態においては、「オペレータ名」を、携帯電話機1が保持している接続先の基地局の事業者(オペレータ)の識別情報と定義する。勿論、オペレータを識別することができれば、オペレータ名以外の情報(例えばオペレータを示す番号など)を識別情報として用いるようにしてもよい。
ステップS1において、基地局網は、オペレータ名が「オペレータA」から「オペレータB」に変化すると、新たなオペレータ名(オペレータB)を携帯電話機1に通知する。
携帯電話機1は基地局網から新たなオペレータ名(オペレータB)の通知を受信すると、携帯電話機1はステップS12において、基地局網からの新たなオペレータ名の通知の中から、新たなオペレータ名を検出する。この場合、携帯電話機1は、新たなオペレータ名として「オペレータB」を通知の中から検出する。ステップS13において、携帯電話機1は、「service値“1”、roaming値は“1”、オペレータB」と認識するとともに、新たなオペレータ名(オペレータB)をRAM上に保持する。ステップS14において、携帯電話機1のメインディスプレイ17は、制御部41の制御に従い、新たなオペレータ名(オペレータB)を表示する。
ステップS15において、携帯電話機1は、ローミングステータスはローミングアクティブのままで維持され、roaming値は“1”のままで維持される場合であっても、オペレータ名が「オペレータA」から「オペレータB」が変化したことから、ブルートゥースモジュール47を介してローミングステータスを対向機器2に通知する(すなわち、ローミングステータスを示すroaming値“1”を対向機器2に通知する)。
対向機器2は携帯電話機1からのローミングステータスの通知(ローミングステータスを示すroaming値“1”)を受信すると、対向機器2はステップS32において、「service値“1”、roaming値は“1”、オペレータA」と認識(再認識)する。このとき、対向機器2で認識しているroaming値と同一の値であったとしても携帯電話機1からのローミングステータスの通知は破棄されない。そして、ステップS33において、対向機器2は、再通知されたローミングステータス(ローミングステータスを示すroaming値)をトリガとして、オペレータ名取得要求を図示せぬブルートゥースモジュールを介して携帯電話機1に送信する。
携帯電話機1は、ブルートゥースモジュール47を介して対向機器2からオペレータ名取得要求を受信すると、携帯電話機1はステップS16において、対向機器2からのオペレータ名取得要求に応じて、RAM上に保持されている最新のオペレータ名(オペレータB)の応答を対向機器2にブルートゥースモジュール47を介して送信する。対向機器2は携帯電話機1から最新のオペレータ名(オペレータB)の応答を図示せぬブルートゥースモジュールを介して受信すると、対向機器2はステップS34において、「service値“1”、roaming値は“1”、オペレータB」と認識する。そして、ステップS35において対向機器2は、図示せぬ表示部に新たなオペレータ名(オペレータB)を表示する。
これにより、例えば携帯電話機1がドイツからフランスに越境して移動し、オペレータ名が「オペレータA」から「オペレータB」に変化した場合であっても、ローミングステータス(ローミングステータスを示すroaming値)を対向機器2に対して通知することができ、携帯電話機1の表示画面に表示されるオペレータ名と、対向機器2の表示画面に表示されるオペレータ名とを好適に一致させることができる。従って、対向機器2に対してローミングステータスを好適に通知するとともに、対向機器2に最新のオペレータ名を好適に取得させることができる。
なお、図5の場合、例えば携帯電話機1がドイツからフランスに越境して移動し、オペレータ名が「オペレータA」から「オペレータB」に変化したとき、すなわち、ローミングステータスはローミングアクティブのままで維持され、roaming値は“1”のままで維持されるとともに、オペレータ名が「オペレータA」から「オペレータB」に変化したときを想定しているが、このような場合に限られず、例えば携帯電話機1が国内で移動した場合を想定しても良い。例えば、携帯電話機1が国際ローミングの場合だけローミングアクティブと認識し、国内のローミングの場合にはローミングと認識しない場合、携帯電話機1が国内で移動してオペレータ名が変化したとき、すなわち、ローミングステータスはローミングインアクティブのままで維持され、roaming値は“0”のままで維持されるとともに、オペレータ名が変化したときにも本発明を適用することができる。
なお、図5の場合、対向機器2は、再通知されたローミングステータス(ローミングステータスを示すroaming値)をトリガとして、携帯電話機1に対してオペレータ名取得要求を送信するようにしたが、このような場合に限られず、例えば再通知されるサービスステータス(サービスステータスを示すservice値)をトリガとするようにしてもよいし、これらを適宜組み合わせるようにしてもよい。
また、ローミングステータスはローミングアクティブのままで維持され、roaming値は“1”のままで維持される場合であっても、オペレータ名が変化したときには、携帯電話機1はローミングステータスがインアクティブであることを示すroaming値“0”を一旦対向機器2に対し通知した後、連続して、ローミングステータスがアクティブであることを示すroaming値“1”を対向機器2に対し通知する(ローミングステータスのセットを通知する)ようにしてもよい。ローミングステータスはローミングインアクティブの場合も同様であり、roaming値“1”が対向機器に通知された後、roaming値“0”が通知されるようにしてもよい。以下、この方法を用いた処理について説明する。
図6は、基地局網、携帯電話機1、および対向機器2との間における本発明に係る処理を示す他のシーケンス図である。なお、図6のシーケンス図におけるステップS41、ステップS51乃至S54、ステップS57、ステップS71、およびステップS74乃至S76の処理、図5のシーケンス図におけるステップS1、ステップS11乃至S14、ステップS16、ステップS31、およびステップS33乃至S35の処理と基本的には同様であり、その説明は繰り返しになるので省略する。
ステップS55において、携帯電話機1は、ローミングステータスはローミングアクティブのままで維持され、roaming値は“1”のままで維持される場合であっても、オペレータ名が「オペレータA」から「オペレータB」が変化したことから、ローミングステータスがインアクティブであることを示すroaming値“0”をブルートゥースモジュール47を介して一旦対向機器2に通知する。対向機器2は携帯電話機1からのローミングステータスの通知(ローミングステータスを示すroaming値“0”)を受信すると、対向機器2はステップS72において、「service値“1”、roaming値は“0”、オペレータA」と認識する。
続いて、ステップS56において、携帯電話機1は、ローミングステータスをローミングアクティブに戻すべく、ローミングステータスがアクティブであることを示すroaming値“1”をブルートゥースモジュール47を介して対向機器2に通知する。対向機器2は携帯電話機1からのローミングステータスの通知(ローミングステータスを示すroaming値“1”)を受信すると、対向機器2はステップS73において、「service値“1”、roaming値は“1”、オペレータA」と認識する。
その後、ステップS74において、対向機器2は、通知されたローミングステータス(ローミングステータスを示すroaming値“0”と“1”)をトリガとして、オペレータ名取得要求を図示せぬブルートゥースモジュールを介して携帯電話機1に送信する。
これにより、例えば対向機器2にてオペレータ名取得要求を携帯電話機1に送信するタイミングがローミングステータスの変化(例えばroaming値が0→1、あるいは1→0に変化)する場合のみであっても、現在の正確なローミングステータスを反映させつつ、対向機器2に最新のオペレータ名をより好適に取得させることができる。なお対向機器によっては、ステップS55でローミングステータスがインアクティブであることが通知された後、ステップS74のようなオペレータ名取得要求を携帯電話機1に対して行ってくる場合が考えられるが、このような場合であっても、対向機器は新たなオペレータ名であるオペレータBを表示することができる。
なお、図6の場合と異なり、ローミングステータスではなくサービスステータスを用いて、携帯電話機1はサービスステータスが圏外であることを示すservice値“0”を一旦対向機器2に対し通知した後、サービスステータスが圏内であることを示すservice値“1”を対向機器2に対し通知する(サービスステータスのセットを通知する)ようにしてもよい。この方法における処理は、図7のシーケンス図に示される。なお、図7のシーケンス図における処理は、ローミングステータスとサービスステータスとの違いはあるものの、図6のシーケンス図における処理と基本的には同様であり、その説明は繰り返しになるので省略する。さらに、図8のシーケンス図に示されるように、ローミングステータスがインアクティブであることを示すroaming値“0”を一旦対向機器2に通知した後にローミングステータスがアクティブであることを示すroaming値“1”を対向機器2に通知し、かつサービスステータスが圏外であることを示すservice値“0”を一旦対向機器2に通知した後にサービスステータスが圏内であることを示すservice値“1”を対向機器2に通知するというように、ローミングステータスとサービスステータスを組み合わせて通知するようにしてもよい。これにより、次のような効果がある。すなわち、対向機器2から携帯電話機1に対してのオペレータ名取得要求の送信タイミングは明確には規定されておらず、対向機器2の実装に依存する部分が大きく、対向機器2が通知されたローミングステータスとサービスステータスのいずれをトリガとするのか、あるいは、ローミングステータスとサービスステータスの両方をトリガとするのかを携帯電話機1が知ることは困難である。そのため、ローミングステータスとサービスステータスの両方を組み合わせることで、対向機器2がオペレータ名取得要求を携帯電話機1に送信する可能性を高めることができ、現在の正確なローミングステータスを反映させつつ、対向機器2に最新のオペレータ名をより好適に、かつ確実に取得させることができる。
ところで、従来の“Hands-Free Profile(HFP)”の仕様においては、携帯電話機1が圏外の状態である場合、ローミングステータスやオペレータ名をどのように対向機器2に応答するかに関して規定がないため、携帯電話機1が圏外の状態となる直前のローミングステータスとオペレータ名を応答せざるを得なかった。以下、図9の従来のシーケンス図を用いて具体的に説明する。
図9は、基地局網、携帯電話機1、および対向機器2との間における従来の処理を示すシーケンス図である。なお、図9のシーケンス図の場合、例えば携帯電話機1がドイツにて移動している場合を想定している。従って、携帯電話機1の状態が圏内から圏外に遷移する前においては、携帯電話機1と対向機器2のいずれも、「service値“1”、roaming値は“1”、オペレータA」と認識している(ステップS201とステップS211)。また、基地局網、携帯電話機1、および対向機器2との間における従来の処理を示すシーケンス図は、実装にある程度依存するため、図9のシーケンス図はあくまでも一例にすぎない。
携帯電話機1は、圏内の状態から圏外の状態に遷移する。
携帯電話機1はステップS202において、圏外の状態になったことを検出する。ステップS203において、携帯電話機1は、「service値“0”、roaming値は“1”、オペレータA」と認識する。しかしながら、従来においては、携帯電話機1の状態が圏外に遷移したことに伴ってローミングステータスの変更は行われず、携帯電話機1ではローミングステータスを示すroaming値は“1”のまま維持される。
そして、ステップS204において、携帯電話機1は、サービスステータスが圏外であることを示すservice値“0”を対向機器2に対しブルートゥースモジュール47を介して通知する。対向機器2は携帯電話機1からのサービスステータスの通知(サービスステータスを示すservice値“0”)を受信すると、対向機器2はステップS212において、「service値“0”、roaming値は“1”、オペレータA」と認識する。このとき、対向機器2は、通知されたサービスステータス(サービスステータスを示すservice値)をトリガとして、オペレータ名取得要求を図示せぬブルートゥースモジュールを介して携帯電話機1に送信する。
ところが、ステップS213において、携帯電話機1は、サービスステータスが圏外となり、サービスステータスを示すservice値が“0”となった場合であっても、ローミングステータスはローミングアクティブのままで維持され、roaming値は“1”のままで維持されるとともに、オペレータ名も「オペレータA」のまま維持されることから、対向機器2からオペレータ名取得要求を受信すると、対向機器2からのオペレータ名取得要求に応じて、RAM上に保持されている最新のオペレータ名(オペレータA)の応答を対向機器2にブルートゥースモジュール47を介して送信してしまう。これにより、対向機器2は携帯電話機1から最新のオペレータ名(オペレータA)の応答を図示せぬブルートゥースモジュールを介して受信し、対向機器2はステップS214において、「service値“0”、roaming値は“1”、オペレータA」と認識するとともに、ステップS215において対向機器2は、携帯電話機1が圏外の状態であるにもかかわらず、図示せぬ表示部にオペレータ名(オペレータA)を表示してしまう。
そこで、ローミングステータスがアクティブの場合(roaming値が“1”の場合)に、携帯電話機1の状態が圏外となったとき、ローミングステータスをローミングインアクティブに変更するとともに、roaming値を“1”から“0”に変更し、サービスステータスが圏外となったことを示すservice値“0”を通知するだけでなく、それに加えてローミングステータスがインアクティブであることを示すroaming値は“0”を対向機器2に通知する。このとき、携帯電話機1は、「service値“0”、roaming値は“0”、空(オペレータ無し)」と認識する。そして、対向機器2からオペレータ名取得要求が送信されたとき、オペレータ名取得要求に応じて、最新のオペレータ名(空(オペレータ無し))の応答を対向機器2に送信するようにする。これにより、携帯電話機1の状態が圏外に遷移した場合であっても、対向機器2に対してローミングステータスを好適に通知するとともに、対向機器2に最新のオペレータ名を好適に取得させることができる。以下、この方法を用いた処理について説明する。
図10は、携帯電話機1の状態が圏外に遷移した場合での、基地局網、携帯電話機1、および対向機器2との間における本発明に係る処理を示すシーケンス図である。なお、図10のシーケンス図におけるステップS241乃至S242、ステップS247、ステップS261、およびステップS264は、図9のシーケンス図におけるステップS201乃至S202、ステップS205、およびステップS214の処理と同様であり、その説明は繰り返しになるので省略する。なお、図10のシーケンス図の場合、例えば携帯電話機1がドイツで移動している場合を想定する。従って、携帯電話機1の状態が圏内から圏外に遷移する前においては、携帯電話機1と対向機器2のいずれも、「service値“1”、roaming値は“1”、オペレータA」と認識している(ステップS241とステップS261)。
ステップS242において携帯電話機1は圏外の状態になったことを検出すると、携帯電話機1はステップS243において、サービスステータスが圏外であることから、「service値“0”、roaming値は“0”、空(オペレータ無し)」と認識するとともに、新たなオペレータ名(空(オペレータ無し))をRAM上に保持する。ステップS244において、携帯電話機1のメインディスプレイ17は、制御部41の制御に従い、新たなオペレータ名(空(オペレータ無し))を表示する。
そして、ステップS245において、携帯電話機1は、ブルートゥースモジュール47を介してサービスステータスを対向機器2に通知する(すなわち、サービスステータスを示すservice値“0”を対向機器2に通知する)。対向機器2は携帯電話機1からのサービスステータスの通知(サービスステータスを示すservice値“0”)を受信すると、対向機器2はステップS262において、「service値“0”、roaming値は“1”、オペレータA」と認識する。
続いて、ステップS246において、携帯電話機1は、ブルートゥースモジュール47を介してローミングステータスを対向機器2に通知する(すなわち、ローミングステータスを示すroaming値“0”を対向機器2に通知する)。対向機器2は携帯電話機1からのローミングステータスの通知(ローミングステータスを示すroaming値“0”)を受信すると、対向機器2はステップS262において、「service値“0”、roaming値は“0”、オペレータA」と認識する。
ステップS264において、対向機器2は、通知されたローミングステータス(ローミングステータスを示すroaming値)またはサービスステータス(サービスステータスを示すservice値)をトリガとして、オペレータ名取得要求を図示せぬブルートゥースモジュールを介して携帯電話機1に送信する。
携帯電話機1は、ブルートゥースモジュール47を介して対向機器2からオペレータ名取得要求を受信すると、携帯電話機1はステップS247において、対向機器2からのオペレータ名取得要求に応じて、RAM上に保持されている最新のオペレータ名(空(オペレータ無し))の応答を対向機器2にブルートゥースモジュール47を介して送信する。対向機器2は携帯電話機1から最新のオペレータ名(空(オペレータ無し))の応答を図示せぬブルートゥースモジュールを介して受信すると、対向機器2はステップS265において、「service値“0”、roaming値は“0”、空(オペレータ無し)」と認識する。そして、ステップS266において対向機器2は、図示せぬ表示部に新たなオペレータ名(空(オペレータ無し))を表示する。
これにより、携帯電話機1の状態が圏外に遷移した場合であっても、携帯電話機1が圏外となる直前のローミングステータスとオペレータ名を応答することを防止し、対向機器2に対してローミングステータスを好適に通知するとともに、対向機器2に最新のオペレータ名を好適に取得させることができる。
なお、図10のシーケンス図の場合、ローミングステータスがアクティブであるときを想定しているが、ローミングステータスがインアクティブであるときにも本発明を適用するようにしてもよい。この方法を用いた本発明に係る処理は、図11のシーケンス図に示される。図11のシーケンス図の場合、ステップS306において、携帯電話機1は、ローミングステータスを示すroaming値が現在“0”の場合であっても、ブルートゥースモジュール47を介してローミングステータスを対向機器2に通知する(すなわち、ローミングステータスを示すroaming値“0”を対向機器2に再通知する)。なお、図11のシーケンス図における処理は、図10のシーケンス図における処理と基本的には同様であり、その説明は繰り返しになるので省略する。
また、ローミングステータスはローミングアクティブのままで維持され、roaming値は“1”のままで維持される場合であっても、携帯電話機1はローミングステータスがインアクティブであることを示すroaming値“0”を一旦対向機器2に対し通知した後、連続して、ローミングステータスがアクティブであることを示すroaming値“1”を対向機器2に対し通知する(ローミングステータスのセットを通知する)ようにしてもよい。ローミングステータスはローミングインアクティブの場合も同様である。これにより、例えば対向機器2にてオペレータ名取得要求を携帯電話機1に送信するタイミングがローミングステータスの変化(例えばroaming値が0→1、あるいは1→0に変化)する場合にのみであるであっても、現在の正確なローミングステータスを反映させつつ、対向機器2に最新のオペレータ名をより好適に取得させることができる。
ところで、携帯電話機1の状態が圏外から圏内に遷移する場合、携帯電話機1の状態が圏外から復帰し圏内に遷移したとしても、まだ基地局網を介してオペレータ名が取得できていない中間状態(移行状態)にあるときには、たとえ対向機器2からオペレータ名取得要求が受信されたとしても、その時点では、その後取得される正確なオペレータ名を対向機器2に対して応答することはできない。以下、図12の従来のシーケンス図を用いて具体的に説明する。
図12は、基地局網、携帯電話機1、および対向機器2との間における従来の処理を示すシーケンス図である。なお、図12のシーケンス図の場合、例えば携帯電話機1がドイツにて移動している場合を想定している。なお、携帯電話機1の状態が圏外から圏内に遷移する前の処理は図9のシーケンス図における処理と同様であり、その説明は繰り返しになるので省略する。
携帯電話機1は、圏外の状態から圏内の状態に遷移する。
携帯電話機1はステップS376において、圏内の状態になったことを検出する。ステップS377において、携帯電話機1は、「service値“1”、roaming値は“1”、オペレータA」と認識する。そして、ステップS378において、携帯電話機1は、サービスステータスが圏内であることを示すservice値“1”を対向機器2に対しブルートゥースモジュール47を介して通知する。対向機器2は携帯電話機1からのサービスステータスの通知(サービスステータスを示すservice値“1”)を受信すると、対向機器2はステップS406において、「service値“1”、roaming値は“1”、オペレータA」と認識する。このとき、対向機器2は、通知されたサービスステータス(サービスステータスを示すservice値)をトリガとして、適宜、オペレータ名取得要求を図示せぬブルートゥースモジュールを介して携帯電話機1に送信する。しかしながら、携帯電話機1の状態が圏外から圏内に遷移する場合、携帯電話機1の状態が圏外から復帰し圏内に遷移したとしても、まだ基地局網を介してオペレータ名が取得できていない中間状態(移行状態)にあるときには、たとえ対向機器2からオペレータ名取得要求が受信されたとしても、その時点では、その後取得される正確なオペレータ名を対向機器2に対して応答することはできず、圏外から復帰する前のオペレータ名を応答することしかできなかった。従って、現在接続を開始している基地局網でのオペレータ名と異なるオペレータ名である場合には、対向機器2に誤ったオペレータ名を応答することとなってしまう。
一般に、携帯電話機1の状態が圏外から圏内に遷移した後、携帯電話機1が基地局網から新たなオペレータ名の通知を受けるまで数秒程度の時間を要する場合がある。そのため、ステップS379およびステップS407乃至S408に示されるように、この移行時間の間に、たとえ対向機器2からオペレータ名取得要求が受信されたとしても、対向機器2に誤ったオペレータ名を応答することとなってしまう。
勿論、ステップS353において、基地局網はオペレータ名が「オペレータA」から「オペレータD」に変化すると、新たなオペレータ名(オペレータD)を携帯電話機1に通知する。そして、携帯電話機1は基地局網から新たなオペレータ名(オペレータD)の通知を受信すると、携帯電話機1はステップS380において、基地局網からの新たなオペレータ名の通知の中から、新たなオペレータ名を検出する。その後、何らかのトリガによって対向機器2がオペレータ名取得要求を携帯電話機1に送信すれば、対向機器2は現在の正確なオペレータ名を取得することはできるが、一旦対向機器2に誤ったオペレータ名を応答した後に対向機器2からオペレータ名取得要求が送信されなければ、その間依然として対向機器2に誤ったオペレータ名が表示されてしまう。
そこで、本発明の実施形態においては、携帯電話機1の状態が圏外から復帰し圏内に遷移したとしても、まだ基地局網を介してオペレータ名が取得できていない中間状態(移行状態)にあるときには、一旦ローミングステータスがインアクティブであることを示すroaming値“0”を対向機器2に通知するとともに、たとえ対向機器2からオペレータ名取得要求が受信されたとしても、対向機器2に対して「空(オペレータ無し)」を送信するようにする。そして、基地局網を介してオペレータ名が取得できた場合、ローミングステータスがアクティブであることを示すroaming値“1”(またはそもそもローミングステータスがインアクティブである場合には、ローミングステータスがインアクティブであることを示すroaming値“0”)を対向機器2に通知(または再通知)するようにする。これにより、携帯電話機1の状態が圏外から復帰し圏内に遷移し、まだ基地局網を介してオペレータ名が取得できていない中間状態(移行状態)にあるときであっても、対向機器2に対してローミングステータスを好適に通知するとともに、対向機器2に最新のオペレータ名を好適に取得させることができる。以下、この方法を用いた処理について説明する。
図13は、携帯電話機1の状態が圏外に遷移し、その後圏内に遷移した場合での、基地局網、携帯電話機1、および対向機器2との間における本発明に係る処理を示すシーケンス図である。なお、図13のシーケンス図における携帯電話機1の状態が圏外から圏内に遷移する前の処理は、図10のシーケンス図における処理と同様であり、その説明は繰り返しになるので省略する。なお、図13のシーケンス図の場合、例えば携帯電話機1がドイツで移動している場合を想定する。従って、携帯電話機1の状態が圏内から圏外に遷移する前においては、携帯電話機1と対向機器2のいずれも、「service値“1”、roaming値は“1”、オペレータA」と認識している(ステップS521とステップS551)。
携帯電話機1は、圏外の状態から圏内の状態に遷移する。ステップS528において携帯電話機1は圏内の状態になったことを検出すると、携帯電話機1はステップS529において、サービスステータスが圏内であることから、「service値“1”、roaming値は“0”、空(オペレータ無し)」と認識する。ステップS530において、携帯電話機1は、ブルートゥースモジュール47を介してサービスステータスを対向機器2に通知する(すなわち、サービスステータスを示すservice値“1”を対向機器2に通知する)。対向機器2は携帯電話機1からのサービスステータスの通知(サービスステータスを示すservice値“1”)を受信すると、対向機器2はステップS557において、「service値“1”、roaming値は“0”、空(オペレータ無し)」と認識する。
続いて、ステップS531において、携帯電話機1は、ブルートゥースモジュール47を介してローミングステータスを対向機器2に通知する(すなわち、ローミングステータスを示すroaming値“0”を対向機器2に通知する)。対向機器2は携帯電話機1からのローミングステータスの通知(ローミングステータスを示すroaming値“0”)を受信すると、対向機器2はステップS558において、「service値“1”、roaming値は“0”、オペレータA」と認識する。
ステップS559において、対向機器2は、通知されたローミングステータス(ローミングステータスを示すroaming値)およびサービスステータス(サービスステータスを示すservice値)をトリガとして、オペレータ名取得要求を図示せぬブルートゥースモジュールを介して携帯電話機1に送信する。携帯電話機1は、ブルートゥースモジュール47を介して対向機器2からオペレータ名取得要求を受信すると、携帯電話機1はステップS532において、対向機器2からのオペレータ名取得要求に応じて、RAM上に保持されている最新のオペレータ名(空(オペレータ無し))の応答を対向機器2にブルートゥースモジュール47を介して送信する。対向機器2は携帯電話機1から最新のオペレータ名(空(オペレータ無し))の応答を図示せぬブルートゥースモジュールを介して受信すると、対向機器2はステップS560において、「service値“1”、roaming値は“0”、空(オペレータ無し)」と認識する。そして、ステップS561において対向機器2は、図示せぬ表示部に新たなオペレータ名(空(オペレータ無し))を表示する。
その後、携帯電話機の状態がまだ基地局網を介してオペレータ名が取得できていない中間状態(移行状態)から安定状態に移行すると、ステップS503において、基地局網は、ローミングが開始された旨を携帯電話機1に通知するとともに、新たなオペレータ名(オペレータD)を携帯電話機1に通知する。携帯電話機1は基地局網からローミングが開始された旨とともに、新たなオペレータ名(オペレータD)の通知を受信すると、携帯電話機1はステップS533において、基地局網からの新たなオペレータ名の通知の中から、新たなオペレータ名を検出する。この場合、携帯電話機1は、新たなオペレータ名として「オペレータD」を通知の中から検出する。ステップS534において、携帯電話機1は、「service値“1”、roaming値は“1”、オペレータD」と認識するとともに、新たなオペレータ名(オペレータD)をRAM上に保持する。ステップS535において、携帯電話機1のメインディスプレイ17は、制御部41の制御に従い、新たなオペレータ名(オペレータD)を表示する。
ステップS536において、携帯電話機1は、ブルートゥースモジュール47を介してローミングステータスを対向機器2に通知する(すなわち、ローミングステータスを示すroaming値“1”を対向機器2に通知する)。対向機器2は携帯電話機1からのローミングステータスの通知(ローミングステータスを示すroaming値“1”)を受信すると、対向機器2はステップS562において、「service値“1”、roaming値は“1”、オペレータA」と認識する。
ステップS563おいて、対向機器2は、通知されたローミングステータス(ローミングステータスを示すroaming値)をトリガとして、オペレータ名取得要求を図示せぬブルートゥースモジュールを介して携帯電話機1に送信する。携帯電話機1は、ブルートゥースモジュール47を介して対向機器2からオペレータ名取得要求を受信すると、携帯電話機1はステップS537において、対向機器2からのオペレータ名取得要求に応じて、RAM上に保持されている最新のオペレータ名(オペレータD))の応答を対向機器2にブルートゥースモジュール47を介して送信する。対向機器2は携帯電話機1から最新のオペレータ名(オペレータD)の応答を図示せぬブルートゥースモジュールを介して受信すると、対向機器2はステップS564において、「service値“1”、roaming値は“1”、オペレータD」と認識する。そして、ステップS565において対向機器2は、図示せぬ表示部に新たなオペレータ名(オペレータD)を表示する。
これにより、携帯電話機1の状態が圏外から復帰し圏内に遷移し、まだ基地局網を介してオペレータ名が取得できていない中間状態(移行状態)にあるときであっても、対向機器2に対してローミングステータスを好適に通知するとともに、対向機器2に最新のオペレータ名を好適に取得させることができる。
なお、図13のシーケンス図の場合、ローミングステータスがアクティブであるとき(すなわち、例えば国外であるとき)を想定しているが、ローミングステータスがインアクティブであるときにも本発明を適用するようにしてもよい。この方法を用いた本発明に係る処理は、図14のシーケンス図に示される。図14のシーケンス図の場合、ステップS636において、携帯電話機1は、ローミングステータスを示すroaming値が現在“0”の場合であっても、ブルートゥースモジュール47を介してローミングステータスを対向機器2に通知する(すなわち、ローミングステータスを示すroaming値“0”を対向機器2に再通知する)。なお、図14のシーケンス図における処理は、図13のシーケンス図における処理と基本的には同様であり、その説明は繰り返しになるので省略する。
なお、図13および図14のシーケンス図においては、通常のローミングステータスの通知プロセスの際には通常のローミングステータスの通知として行われる。また、図13および図14のシーケンス図においては、図6乃至図8に示される1セットのローミングステータスの通知を行い、対向機器2からオペレータ名の取得要求を送信するトリガとするようにしてもよい。
なお、本発明は、携帯電話機1以外にも、PDA(Personal Digital Assistant)、パーソナルコンピュータ、携帯型ゲーム機、携帯型音楽再生機、携帯型動画再生機、その他の情報処理装置にも適用することができる。
また、本発明の実施形態において説明した一連の処理は、ソフトウェアにより実行させることもできるが、ハードウェアにより実行させることもできる。
さらに、本発明の実施形態では、フローチャートのステップは、記載された順序に沿って時系列的に行われる処理の例を示したが、必ずしも時系列的に処理されなくとも、並列的あるいは個別実行される処理をも含むものである。
1…携帯電話機、2…対向機器、11…ヒンジ部、12…第1の筐体、13…第2の筐体、14…操作キー、15…マイクロフォン、16…サイドキー、17…メインディスプレイ、18…レシーバ(受話器)、19a乃至19d…磁気センサ、20…CCDカメラ、21…サブディスプレイ、31…アンテナ、32…アンテナ共用器(DUP)、33…受信回路(RX)、34…周波数シンセサイザ(SYN)、35…送信回路(TX)、36…CDMA信号処理部、37…圧縮伸張処理部、38…PCMコーデック、39…受話増幅器、40…送話増幅器、41…制御部、42…記憶部、43…バッテリ、44…電源回路、45…外部メモリインタフェース、46…メモリカード、47…ブルートゥースモジュール、48…時計回路、50…スピーカ。