通信モジュール及び通信方法
【課題】未知のデバイス間での無線通信による接続性を向上する。
【解決手段】ローカルデバイスに適用されたBTモジュール30は、リモートデバイスとの間でAVDTPによる接続シーケンスを制御するAVDTP処理部40を備える。このAVDTP処理部40には、コマンド設定部44が含まれており、ここにはローカルデバイスのホストアプリケーションから指定されたパラメータの優先順位が各種の管理テーブル46〜54によって記憶されている。接続シーケンスの実行に際し、BTモジュール30はリモートデバイスに対してパラメータの問い合わせを行い、通知された値と優先順位とを比較することで、接続要求コマンドで適用するパラメータを自動的に設定することができる。
【解決手段】ローカルデバイスに適用されたBTモジュール30は、リモートデバイスとの間でAVDTPによる接続シーケンスを制御するAVDTP処理部40を備える。このAVDTP処理部40には、コマンド設定部44が含まれており、ここにはローカルデバイスのホストアプリケーションから指定されたパラメータの優先順位が各種の管理テーブル46〜54によって記憶されている。接続シーケンスの実行に際し、BTモジュール30はリモートデバイスに対してパラメータの問い合わせを行い、通知された値と優先順位とを比較することで、接続要求コマンドで適用するパラメータを自動的に設定することができる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数のデバイス間で例えば無線通信を行うための通信モジュール及び通信方法に関するものである。
【背景技術】
【0002】
従来、画像データや音声データのように複数のフォーマット(例えば画像についてJPEG、TIFF、音声についてMP3、WMA等)が存在するデータの送信に関して、ユーザが指定した送信先に適合する推奨フォーマットを自動的に選択してデータ変換し、変換後のデータを送信先へ送信する先行技術が知られている(例えば、特許文献1参照。)。
【0003】
上記の先行技術では、携帯電話機等のユーザが保有するデバイスに予め送信先テーブルや変換ルールテーブル等の情報を格納しておき、送信先テーブルに記された複数の送信先一覧からユーザが任意の送信先を指定すると、これに対応する推奨フォーマットを変換ルールテーブルから読み出して、自動的に変換プログラムがデータフォーマットを変換するものとなっている。また先行技術では、画像データについてはフォーマットだけでなくサイズや圧縮率、音声データについてはサンプリングレート(音質)までも自動調整される。
【0004】
このため上記の先行技術によれば、ユーザが例えばデジタルカメラ等で撮像する際に予め送信先のフォーマットに合わせて画像サイズを調整したり、圧縮率を調整したりする必要がなく、スタンドアローンの状態で撮像しておいた画像を後から任意の送信先に送信することができると考えられる。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2005−227911号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
上述した先行技術の手法は、送信先のデバイスがいずれも既知であり、各送信先について推奨フォーマットが予め一意に定められている場合には有効であると考えられる。ところが近年、既知のデバイスに限らず、多種多様な未知のデバイス間でも自由に接続を行うことへのニーズが高まってきており、このようなニーズに対応しようとすると、先行技術の手法では接続を開始する時点で障害が発生する。
【0007】
例えば、未知のデバイス間で無線接続を行う場合、互いに汎用の短距離通信規約(例えばBluetooth:登録商標)を適用することで無線通信が実現可能となる(なお、ここでいう「未知のデバイス」とは、通信に用いられるパラメータが多様で一意に決まっていないことを意味しており、端末認証等は行われる。)。しかしながら、通信規約において使用可能なパラメータが複数あるとしても、その全てに双方のデバイスが必ず対応しているとは限らない。このため、無線接続時に一方のデバイスからパラメータを一意に指定した場合、他方のデバイスがそのパラメータをサポートしていなければ、その時点で接続不能に陥ってしまう。このように、未知のデバイス間での接続においては、一方のデバイスから一意にパラメータを指定しただけでは不充分であり、双方のマッチングをとる必要があるため、それだけ接続を確立するには手間を要するという問題がある。
【0008】
そこで本発明は、多種多様なデバイス間で容易に接続を実現することができる通信技術を提供しようとするものである。
【課題を解決するための手段】
【0009】
上記の課題を解決するため、本発明は以下の解決手段を採用する。
解決手段1:本発明は、無線通信機能を有したリモートデバイスとの間にて、所定の通信規約に準拠した無線通信を行うローカルデバイスに搭載される通信モジュールであって、以下の構成を備える。
【0010】
すなわち本発明の通信モジュールは、リモートデバイスとの間で所定の通信規約に基づく無線通信を行う無線通信部と、所定の通信規約で定められた複数のパラメータを記憶する記憶部と、リモートデバイスに対してローカルデバイスとの接続時に対応しているパラメータを問い合わせした結果、リモートデバイスから通知されたパラメータを用いてリモートデバイスに対する接続要求を発行する接続処理部とを備える。
【0011】
本発明の通信モジュールによれば、ローカルデバイスから一意なパラメータを指定して一方的にリモートデバイスへ接続要求を発行するのではなく、接続先となるリモートデバイスに対して事前にサポートしているパラメータの問い合わせを行い、リモートデバイスから通知されたパラメータを用いてローカルデバイスから接続要求を発行することができる。これにより、ローカルデバイスからみて未知(任意のパラメータを使用し、一意のパラメータに対応しない場合がある)のリモートデバイスであっても、容易に無線接続を確立し、その後の無線通信を円滑に進めることができる。
【0012】
また、リモートデバイスでサポートしていないパラメータを指定して無理な接続シーケンスを実行することがないので、パラメータの不一致による接続の失敗や、その後の再設定等の手間をなくすことができる。
【0013】
解決手段2:解決手段1において、通信モジュールの記憶部は、複数のパラメータについて、リモートデバイスとの接続時に優先して使用する順位を予め設定した状態で記憶するものであってもよい。そして接続処理部は、リモートデバイスに対して問い合わせした結果、リモートデバイスから通知されたパラメータが2つ以上ある場合、その中で記憶部に記憶された順位が高いパラメータを優先的に用いてリモートデバイスに対する接続要求を発行することができる。
【0014】
上記の構成によれば、リモートデバイスが2つ以上のパラメータをサポートしている場合、その中でも順位の高いパラメータを優先的に適用して接続を開始することができる。このため例えば、通信規約においてスループットが比較的高いパラメータと低いパラメータの2通りをリモートデバイスがサポートしていた場合、その中で比較的スループットの高いパラメータを優先的に使用して無線接続を実行することにより、通信品質を向上することができる。
【0015】
解決手段3:解決手段1,2において、上記の記憶部は、パラメータとしてサンプリング周波数、もしくはチャンネルモード、もしくはブロック長、もしくはサブバンド、もしくはアロケーションメソッドの少なくともいずれか1つについて、複数の値を記憶している。
【0016】
このように、記憶部が複数の値をパラメータとして記憶していれば、それだけ選択の幅を広げることができる。このため、たとえリモートデバイスからみて接続先のリモートデバイスが未知であり、かつ、複数種類のものがあったとしても、いずれかの対応するパラメータを用いて接続要求を発行することができる。
【0017】
解決手段4:解決手段3において、パラメータがいずれもSBC(サブバンドコーデック)を用いるものであることが好ましい。この場合、特に音声データやオーディオデータの圧縮に適したパラメータを用いて通信を行うことができるため、例えばリモートデバイスからローカルデバイスへオーディオデータを転送したり、音声データの送受信を行ったりする用途に好適する。
【0018】
解決手段5:解決手段1から4において、無線通信部は、リモートデバイスとの間でAVDTP(オーディオビデオ配信トランスポートプロトコル)に基づく通信を行うことができる。
【0019】
この場合、リモートデバイスに格納されているオーディオデータをローカルデバイスに転送しながらリアルタイムに再生するといった利用形態に適しているため、ユーザが保有する多種多様な未知のデバイスをローカルデバイスに接続して、オーディオ機器として利用する際の利便性が向上する。
【0020】
解決手段6:また本発明は、無線通信機能を有したリモートデバイスとローカルデバイスとの間にて、所定の通信規約に準拠した無線通信を行うための通信方法であって、以下の工程を有する。
【0021】
(1)指定工程
この工程では、所定の通信規約で定められた複数のパラメータを指定する。
【0022】
(2)質問工程
この工程では、ローカルデバイスからリモートデバイスに対して、ローカルデバイスとの接続時に対応しているパラメータを問い合わせする。
【0023】
(3)受領工程
この工程では、ローカルデバイスにて、問い合わせに対するリモートデバイスからの応答を通知として受け取る。これにより、ローカルデバイスではリモートデバイスがどのパラメータに対応(サポート)しているのかを知ることができる。
【0024】
(4)発行工程
そしてこの工程では、リモートデバイスから通知されたパラメータを用いてリモートデバイスに対する接続要求を発行する。
【0025】
以上の(1)〜(4)の工程を実行することにより、ローカルデバイスから一意なパラメータを指定して一方的にリモートデバイスへ接続要求を発行することなく、接続先となるリモートデバイスに対して事前にサポートしているパラメータの問い合わせを行った上で、リモートデバイスから通知されたパラメータを用いてローカルデバイスから接続要求を発行することができる。これにより、ローカルデバイスからみて未知(任意のパラメータを使用し、一意のパラメータに対応しない場合がある)のリモートデバイスであっても、容易に無線接続を確立し、その後の無線通信を円滑に進めることができる。
【0026】
また、リモートデバイスでサポートしていないパラメータを指定して無理な接続シーケンスを実行することがないので、パラメータの不一致による接続の失敗や、その後の再設定処理等の手間をなくすことができる。
【0027】
上記(1)の指定工程では、複数のパラメータについて、リモートデバイスとの接続時に優先して使用する順位を予め設定した状態で指定することができる。そして、上記(4)の発行工程では、上記(3)の受領工程でリモートデバイスから通知されたパラメータが2つ以上ある場合、その中から(1)の指定工程で設定された順位の高いパラメータを優先的に用いてリモートデバイスに対する接続要求を発行することとしてもよい。
【0028】
上記の手順を用いれば、リモートデバイスが2つ以上のパラメータをサポートしている場合、その中でも順位の高いパラメータを優先的に適用して接続を開始することができる。このため例えば、通信規約においてスループットが比較的高いパラメータと低いパラメータの2通りをリモートデバイスがサポートしていた場合、その中で比較的スループットの高いパラメータを優先的に使用して無線接続を実行することにより、通信品質を向上することができる。
【0029】
また上記(1)の指定工程では、パラメータとしてサンプリング周波数、もしくはチャンネルモード、もしくはブロック長、もしくはサブバンド、もしくはアロケーションメソッドの少なくともいずれか1つについて、複数の値を指定することができる。
【0030】
このように、(1)指定工程において複数の値をパラメータとして指定していれば、(2)の質問工程及び(3)の受領工程を経た上で、それだけ適用するパラメータの選択の幅を広げることができる。このため、たとえリモートデバイスからみて接続先のリモートデバイスが未知であり、かつ、複数種類のものがあったとしても、(4)の発行工程では、いずれかの対応するパラメータを用いて接続要求を発行することができる。
【0031】
なお、本発明の通信方法においても、パラメータがいずれもSBC(サブバンドコーデック)を用いるものであることが好ましい。また、ローカルデバイスとリモートデバイスとの間では、AVDTP(オーディオビデオ配信トランスポートプロトコル)に基づく通信を行うことができる。
【0032】
これにより、リモートデバイスからローカルデバイスへオーディオデータを転送したり、音声データの送受信を行ったりする用途に好適し、またユーザが保有する多種多様な未知のデバイスをローカルデバイスに接続して、オーディオ機器として利用する際の利便性を向上することができる。
【発明の効果】
【0033】
以上のように本発明の通信モジュール及び通信方法は、多様なデバイス間での接続性を向上し、無線接続を利用したデバイスの利便性を高めることができる。
【0034】
また、接続のやり直しやパラメータの再設定を行う手間が不要になるので、それだけ接続に要する時間を短縮することができる。
【0035】
さらに、最終的にリモートデバイスとローカルデバイスとの接続が確立できなかった場合、そのリモートデバイスにはローカルデバイスとの接続適正がないことを明らかに知ることができる。これにより、何度も接続を試みて失敗したり、原因不明のまま延々と再設定をし直したりすることを未然に防止することができる。
【図面の簡単な説明】
【0036】
【図1】一実施形態の通信モジュール(BTモジュール)が適用された通信システムの構成例を概略的に示す図である。
【図2】BTモジュールのハード構成例を概略的に示すブロック図である。
【図3】ローカルデバイスとリモートデバイスとの間でAVDTPによる無線接続を確立するまでの流れを示すシーケンス図である。
【図4】接続シーケンス中に実行されるパラメータ設定ルーチンの手順例を具体的に示したフローチャートである。
【図5】SBCサンプリング周波数設定処理の手順例を示すフローチャートである。
【図6】SBCチャンネルモード設定処理の手順例を示すフローチャートである。
【図7】SBCブロック長設定処理の手順例を示すフローチャートである。
【図8】SBCサブバンド設定処理の手順例を示すフローチャートである。
【図9】SBCアロケーションメソッド設定処理の手順例を示すフローチャートである。
【図10】SBCミニマムビットプール値及びSBCマックスビットプール値設定処理の手順例を示すフローチャート(1/2)である。
【図11】SBCミニマムビットプール値及びSBCマックスビットプール値設定処理の手順例を示すフローチャート(2/2)である。
【図12】SCMSケーパビリティ設定処理の手順例を示すフローチャートである。
【図13】切断処理の内容を示すフローチャートである。
【発明を実施するための形態】
【0037】
以下、図面を参照しながら本発明の実施形態について説明する。
【0038】
図1は、一実施形態の通信モジュール(BTモジュール30)が適用された通信システム10の構成例を概略的に示す図である。この通信システム10は、例えば自動車に搭載された車載電装ユニット12をローカルデバイスとし、車内に持ち込まれる各種の携帯機器14,16,18をそれぞれリモートデバイスとして構成されている。これら車載電装ユニット12や携帯機器14,16,18は、いずれもブルートゥース(Bluetooth:登録商標)規格に準拠した無線通信機能を有している。なお、以下の説明では、Bluetooth(登録商標)を「BT」と略称するものとする。
【0039】
車載電装ユニット12は、例えば走行経路誘導(ナビゲーション)機能を有するほか、オーディオ再生機能やビデオ再生機能、ラジオ、テレビ等の受信機能等を有する。このため車載電装ユニット12には、液晶ディプレイ等を用いた表示部20や、図示しないプッシュスイッチ、キースイッチ、回転つまみ等を有した操作部22が付属するほか、音響出力用のスピーカ24、マイク26等の周辺機器が付属している。
【0040】
また車載電装ユニット12は、上記の周辺機器を制御する制御部28を内蔵するほか、BTによる無線通信機能を発揮するためにBTモジュール30を内蔵している。なお制御部28は、例えば中央処理装置であるCPUや、ROM、RAM等のメモリデバイスを備えたマイクロコンピュータである。またBTモジュール30は、車載電装ユニット12(制御部28)をホストとしてBT通信を用いたサービス(例えば無線接続)を提供することができる。
【0041】
携帯機器14,16,18は、例えば携帯音楽プレーヤ、携帯情報端末、携帯電話機等のユーザが携帯して使用することができる電子機器である。いずれにしても、携帯機器14,16,18にも図示しないBTモジュールが内蔵されており、このBTモジュールを用いて携帯機器14,16,18はそれぞれBTによる無線通信機能を発揮することができる。
【0042】
〔無線接続の利用形態〕
通信システム10は、例えば音楽プレーヤ型の携帯機器14と車載電装ユニット12とを無線接続させた状態で、携帯機器14に格納されているオーディオデータを車載電装ユニット12に転送しながらリアルタイムで再生し、そのスピーカ24から音楽を出力する機能を提供することができる。
【0043】
また通信システム10は、携帯情報端末である携帯機器16と車載電装ユニット12とを無線接続させた状態で、携帯機器16に格納されているアドレス帳のデータを車載電装ユニット12に転送し、これを表示部20に出力する機能を提供することができる。あるいは、通信システム10は携帯機器18と車載電装ユニット12とを無線接続(BTリンク)させた状態で、いわゆる「ハンズフリー通話」機能を提供することができる。
【0044】
通信システム10において上記のような機能を実現するには、その前提として車載電装ユニット12と各種の携帯機器14,16,18との間で確実に無線接続が確立されている必要がある。このとき通信システム10は、単一の車載電装ユニット12に対して、その通信対象(接続先)となる各種の携帯機器14,16,18を含んでいる。特に、車載電装ユニット12がある程度固定されたローカルデバイスとすると、ユーザによって車内に持ち込まれる携帯機器14,16,18等は多種多様であり、これらは一意のパラメータだけに対応するとは限らず、ローカルデバイスからみると未知のリモートデバイスとなる(ただしBT端末認証は行われるものとする。)。
【0045】
一方、BT通信においては、複数のデバイス間で無線接続を確立する際に複数のパラメータが用いられており、このため車載電装ユニット12(ローカルデバイス)が一意にパラメータを指定しようとしても、接続先の携帯機器14,16,18等がそのパラメータをサポートしていなければ、両者の間で無線接続が成立しない。
【0046】
そこで本実施形態では、車載電装ユニット12(ローカルデバイス)側のBTモジュール30が以下の構成を有することで、多様な携帯機器14,16,18(未知のリモートデバイス)との間での無線接続を実現している。
【0047】
〔BTモジュールの構成例〕
図2は、BTモジュール30のハード構成例を概略的に示すブロック図である。BTモジュール30は、例えば車載電装ユニット12内でBTアンテナ32及びアンテナマッチング回路33に接続されており、これらBTアンテナ32及びアンテナマッチング回路33により他のBT機器(ここでは携帯機器14〜18)との間でBT規格による無線通信を行うことができる(無線通信部)。なお、BTアンテナ32やアンテナマッチング回路33はBTモジュール30に内蔵されていてもよい。
【0048】
BTモジュール30は、RF処理部34、ベースバンド処理部36及びL2CAP処理部38を有しており、このうちRF処理部34は、BTアンテナ32及びアンテナマッチング回路33を通じてRF信号の受信処理を行う。またベースバンド処理部36は、RF処理部34にて受信した信号をIF信号に変換し、復調してパケットデータ(受信パケット)を生成する。L2CAP処理部38は、ベースバンド処理部36で生成されたパケットデータを上位レイヤ向けに再構築する。ここで再構築されたパケットデータは、BTモジュール30内で上位レイヤの処理部に提供される。
【0049】
またL2CAP処理部38には、上位レイヤから送信用パケットデータ(送信フレーム)が提供される。そして、L2CAP処理部38に提供された送信用パケットデータは、上記のベースバンド処理部36で変調され、RF処理部34、アンテナマッチング回路33及びBTアンテナ32を通じて携帯機器14〜18に送信される。
【0050】
BTモジュール30はAVDTP処理部40及びその他プロファイル処理部42を有しており、これら処理部40,42はL2CAP処理部38の上位レイヤに位置付けられている。AVDTP処理部40は、BT通信におけるオーディオビデオ配信プロトコル(Audio/Video Distribution Transport Protocol:以下、「AVDTP」と略称する。)を用いた接続シーケンス及び通信処理を実行するものである。なお、その他プロファイル処理部42は、BT通信におけるAVDTP以外の通信プロファイル(例えばシリアルポートプロファイル)を用いた接続シーケンス及び通信処理を実行する。
【0051】
〔接続処理部〕
AVDTP処理部40は、さらにコマンド設定部44を有しており、このコマンド設定部44は、AVDTPによる接続シーケンスの実行に際して、リモートデバイスである携帯機器14,16,18等に対する接続要求のコマンド(図中、「AVDTP_SET_CONFIGURATION_CMD」と記述)を発行する。
【0052】
〔記憶部〕
コマンド設定部44には、さらに複数のパラメータ優先順位管理テーブル46,48,50,52,54及びパラメータ設定テーブル56,58が含まれており、これら各種テーブル46〜58には、上記の接続要求コマンドを設定するための各種パラメータが記憶されている。
【0053】
〔パラメータ〕
ここで本実施形態では、AVDTPで用いられるパラメータとして、例えば以下のものを適用している。なお、以下の「SBC」は、BT通信で用いられるサブバッドコーデック(Sub Band Codec)の略称である。また各パラメータとして、それぞれ括弧内に複数の値を例として挙げている。
【0054】
(1)SBCサンプリング周波数(48kHz,44.1kHz)
(2)SBCチャンネルモード(MONO,DUALCHANNEL,STEREO,JOINTSTEREO)
(3)SBCブロック長(4,8,12,16)
(4)SBCサブバンド(4,8)
(5)SBCアロケーションメソッド(SNR,Loudness)
(6)SBCミニマムビットプール値(2から53の任意の整数)
(7)SBCマックスビットプール値(2から53の任意の整数)
(8)SCMSケーパビリティ(Not support SCMS,Support SCMS)
【0055】
また上記のパラメータのうち、(1)のSBCサンプリング周波数から(5)のSBCアロケーションメソッドについては、それぞれ優先順位管理テーブル46〜54において複数の値に優先順位を付した状態で記憶されている。例えば、(1)のSBCサンプリング周波数については、「44.1kHz」を優先順位の第一位とし、「48kHz」を優先順位の第二位とする等である(逆でもよい。)。また、(2)のSBCチャンネルモードについては、例えば「JOINTSTEREO」を優先順位の第一位とし、「STEREO」を優先順位の第二位とし、「DUALCHANNEL」を優先順位の第三位とし、そして「MONO」を優先順位の第四位とする等である(これ以外でもよい。)。
【0056】
その他の(6)SBCミニマムビットプール値及び(7)SBCマックスビットプール値については、1つの設定テーブル56に値が記憶されている。また(8)SCMSケーパビリティについては、別の設定テーブル58に値が記憶されている。
【0057】
またコマンド設定部44には、各種テーブル46〜58の他にパラメータ保持テーブル60が含まれており、このパラメータ保持テーブル60には、リモートデバイスである携帯機器14,16,18等から通知されたパラメータの値が保持されるものとなっている。なお、リモートデバイスから送信される通知(図中、「AVDTP_GET_CAPABILITIES_RSP」と記述)についてはさらに後述する。
【0058】
そしてコマンド設定部44には、プログラムとしてパラメータ設定ルーチン62が記憶されている。このパラメータ設定ルーチン62をコマンド設定部44が実行することで、AVDTP処理部40から発行される接続要求のコマンド「AVDTP_SET_CONFIGURATION_CMD」を設定することができる。なお、パラメータ設定ルーチン62の詳細については、具体的なフローチャートを参照しながら後述する。
【0059】
この他に、BTモジュール30はホストインターフェース64を有しており、このホストインターフェース64は、上記の車載ユニット12が有する制御部28をホスト(HOST)としたとき、このホストとBTモジュール30との間の通信を制御する。
【0060】
例えば、ユーザが車載ユニット12の操作部22を通じてBT通信に関する操作を実行した場合、ホスト側の制御部28からホストインターフェース64に動作信号が送信され、これを受けてホストインターフェース64はAVDTP処理部40やその他プロファイル処理部42の動作を制御する。またホストインターフェース64は、AVDTP処理部40やその他プロファイル処理部42により受信されたパケットデータをホスト側の制御部28に出力する。またAVDTP処理部40で処理された音響データ(オーディオデータや音声通話データ等)は、車載電装ユニット12内のD/A変換回路66でアナログ信号(電圧)に変換され、後段のアンプ68を通じてスピーカ24に出力される。
【0061】
これにより、例えば携帯機器18からBT通信で受信したオーディオデータや音声通話データ等を車載ユニット12のスピーカ24から出力したり、逆にマイク26で拾った音声を携帯機器18に転送したりすることが可能になる。
【0062】
〔BT通信方法〕
次に、本実施形態の通信システム10において実行される通信方法の一例について説明する。
【0063】
〔接続シーケンス〕
図3は、ローカルデバイスとリモートデバイスとの間でAVDTPによる無線接続を確立するまでの流れを示すシーケンス図である。図3中、左側に位置する2本のカラムにはローカルデバイス(車載ユニット12)による処理を示し、右側に位置する2本のカラムにはリモートデバイス(例えば携帯機器14)による処理を示す。なお以下の説明では、それぞれを単にローカルデバイス、リモートデバイスと一般化して呼称する。
【0064】
〔指定工程〕
S1:接続シーケンスの開始に伴い、ローカルデバイスのホストアプリケーションからBTモジュール30に対して各種パラメータの優先順位が指定される(図中、「AVDTP_SET_CONFIGURATION」と記述)。特に図示していないが、上記の指定を受けてBTモジュール30のAVDTP処理部40は、各種パラメータについて指定された優先順位を対応する優先順位管理テーブル46〜54に保存する。
【0065】
S2:続いてホストアプリケーションからBTモジュール30に対し、BT通信規約に基づいてAVDTP接続要求が指示される。
【0066】
〔質問工程〕
S3:これを受けてBTモジュール30は、リモートデバイスに対して問い合わせコマンドを送信する(図中、「AVDTP_GET_CAPABILITIES_CMD」と記述)。このコマンドは、リモートデバイスが実際に対応(サポート)しているパラメータを問い合わせし、その回答を要求するためのものである。
【0067】
S4:上記の要求を受けると、リモートデバイス内での処理として、例えばAVDTP処理部からホストアプリケーションに対して要求(図中、「AVDTP_Get_Capabilities_Ind」と記述)が伝達される。
【0068】
S5:リモートデバイス内のホストアプリケーションは、要求に応じて自己が対応しているパラメータをAVDTP処理部に対して通知する(図中、「AVDTP_Get_Capabilities_Rsp」と記述)。
【0069】
〔受領工程〕
S6:そしてリモートデバイスは、BT通信規約に基づいて自己が対応しているパラメータをローカルデバイスに対して通知する(図中、「AVDTP_GET_CAPABILITIES_RSP」と記述)。
【0070】
特に図示していないが、このときローカルデバイスはリモートデバイスからの通知を受領すると、その値をパラメータ保持テーブル60に保存する。また、ローカルデバイスから通知されたパラメータが2つ以上ある場合、その全てのパラメータを保持テーブル60に保存する。
【0071】
〔発行工程〕
S7:通知を受領すると、先ずローカルデバイスはパラメータを自動的に設定する。ここでは、ホストアプリケーションで指定(設定)されたパラメータの優先順位(「AVDTP_SET_CONFIGURATION」)とリモートデバイスから受領した通知の値(「AVDTP_GET_CAPABILITIES_RSP」)とを比較して、次のリモートデバイスに対する接続要求コマンド(「AVDTP_SET_CONFIGURATION_CMD」)のパラメータを自動的に設定する。なお、このときローカルデバイス(コマンド設定部44)において上記のパラメータ設定ルーチン62が呼び出され、その手順に沿って処理が実行される。処理の具体的な手順は、さらに別のフローチャートを用いて後述する。
【0072】
S8:そして、上記のようにパラメータを自動設定すると、ローカルデバイスからリモートデバイスに対して実際に接続要求を発行する。
【0073】
S9:リモートデバイスが接続要求コマンドを受信すると、リモートデバイス内での処理として、例えばAVDTP処理部からホストアプリケーションに対して接続要求(図中、「AVDTP_Set_Configuration_Ind」と記述)が伝達される。
【0074】
S10:次にリモートデバイス内のホストアプリケーションは、接続要求に対する応答をAVDTP処理部に対して通知する(図中、「AVDTP_Set_Configuration_Rsp」と記述)。
【0075】
S11:そしてリモートデバイスは、BT通信規約に基づいて接続要求に対する応答をローカルデバイスに対して通知する(図中、「AVDTP_SET_CONFIGURATION_RSP」と記述)。このときローカルデバイスは、リモートデバイスからの応答通知を受領する。
【0076】
S12:リモートデバイスからの応答通知を受領すると、ローカルデバイス内ではBTモジュール30からホストアプリケーションに対してAVDTP接続に成功したことが通知される。これ以降、ローカルデバイスとリモートデバイスとの間では、AVDTPによる無線通信が実行されることになる。
【0077】
〔パラメータ設定ルーチン〕
図4は、上記の接続シーケンス中(S7)に実行されるパラメータ設定ルーチンの手順例を具体的に示したフローチャートである。先ず、パラメータ設定ルーチンの構成について概要を説明する。
【0078】
コマンド設定処理は、SBCサンプリング周波数設定処理(ステップS70)、SBCチャンネルモード設定処理(ステップS80)、SBCブロック長設定処理(ステップS90)、SBCサブバンド設定処理(ステップS100)、SBCアロケーションメソッド設定処理(ステップS110)、SBCミニマムビットプール値及びSBCマックスビットプール値設定処理(ステップS120)及びSCMSケーパビリティ設定処理(ステップS130)のサブルーチン群を含む構成である。コマンド設定部44は、これらサブルーチン群を順次実行することで、接続要求コマンドのパラメータを自動設定することができる。以下、それぞれのサブルーチンについてさらに具体的に説明する。
【0079】
〔SBCサンプリング周波数設定処理〕
図5は、上記のSBCサンプリング周波数設定処理の手順例を示すフローチャートである。なお、以下ではBTモジュール30のコマンド設定部44が主体となって処理を実行するものとして説明する。
【0080】
ステップS71:ここでは先ず、コマンド設定部44は優先順位管理テーブル46に記憶された第一候補(優先順位の第一位)のパラメータとパラメータ保持テーブル60に保持された値(リモートデバイスから通知されたパラメータ)とを比較する。その結果、第一候補のパラメータにリモートデバイス(図中に「相手機器」と表記)が対応していることを確認した場合(Yes)、ステップS72に進む。なお、リモートデバイスから通知されたパラメータが2つ以上保存されている場合、その中でいずれかのパラメータが第一候補に一致していればよい。
【0081】
ステップS72:この場合、コマンド設定部44は第一候補のパラメータ(例えば「44.1kHz」)をSBCサンプリング周波数に設定し、このサブルーチンを終了する(リターン)。
【0082】
一方、先のステップS71で第一候補のパラメータにリモートデバイスが対応していなかった場合(No)、コマンド設定部44はステップS73を実行する。
【0083】
ステップS73:コマンド設定部44は、今度は第二候補(優先順位の第二位)のパラメータとパラメータ保持テーブル60に保持された値とを比較する。その結果、第二候補のパラメータにリモートデバイスが対応していることを確認できた場合(Yes)、コマンド設定部44はステップS74に進む。なお、ここでもリモートデバイスから通知されたパラメータが2つ以上保存されている場合、その中でいずれかのパラメータが第二候補に一致していればよい。
【0084】
ステップS74:この場合、コマンド設定部44は第二候補のパラメータ(例えば「48kHz」)をSBCサンプリング周波数に設定し、このサブルーチンを終了する(リターン)。
【0085】
これに対し、第二候補のパラメータにもリモートデバイスが対応していなかった場合(No)、コマンド設定部44はステップS75の切断処理に進む。なお切断処理については、最後にまとめて説明する。
【0086】
〔SBCチャンネルモード設定処理〕
次に、SBCチャンネルモード設定処理について説明する。
図6は、上記のSBCチャンネルモード設定処理の手順例を示すフローチャートである。以下、手順例を挙げて説明する。
【0087】
ステップS81:ここでも同様に、コマンド設定部44はSBCチャンネルモードの優先順位管理テーブル48に記憶された第一候補(優先順位の第一位)のパラメータとパラメータ保持テーブル60に保持された値(リモートデバイスから通知されたパラメータ)とを比較する。その結果、第一候補のパラメータにリモートデバイスが対応していることを確認した場合(Yes)、コマンド設定部44はステップS82に進む。また同様に、リモートデバイスから通知されたパラメータが2つ以上保存されている場合、その中でいずれかのパラメータが第一候補に一致していればよい。
【0088】
ステップS82:この場合、コマンド設定部44は第一候補のパラメータ(例えば「JOINTSTEREO」)をSBCチャンネルモードに設定し、このサブルーチンを終了する(リターン)。
【0089】
一方、先のステップS81で第一候補のパラメータにリモートデバイスが対応していなかった場合(No)、コマンド設定部44はステップS83を実行する。
【0090】
ステップS83:コマンド設定部44は、今度は第二候補(優先順位の第二位)のパラメータとパラメータ保持テーブル60に保持された値とを比較する。その結果、第二候補のパラメータにリモートデバイスが対応していることを確認できた場合(Yes)、コマンド設定部44はステップS84に進む。なお、ここでもリモートデバイスから通知されたパラメータが2つ以上保存されている場合、その中でいずれかのパラメータが第二候補に一致していればよい。
【0091】
ステップS84:この場合、コマンド設定部44は第二候補のパラメータ(例えば「STEREO」)をSBCチャンネルモードに設定し、このサブルーチンを終了する(リターン)。
【0092】
先のステップS83で第二候補のパラメータにもリモートデバイスが対応していなかった場合(No)、コマンド設定部44は次にステップS85を実行する。
【0093】
ステップS85:コマンド設定部44は、今度は第三候補(優先順位の第三位)のパラメータとパラメータ保持テーブル60に保持された値とを比較する。その結果、第三候補のパラメータにリモートデバイスが対応していることを確認できた場合(Yes)、コマンド設定部44はステップS86に進む。なお、ここでもリモートデバイスから通知されたパラメータが2つ以上保存されている場合、その中でいずれかのパラメータが第三候補に一致していればよい。
【0094】
ステップS86:この場合、コマンド設定部44は第三候補のパラメータ(例えば「DUALCHANNEL」)をSBCチャンネルモードに設定し、このサブルーチンを終了する(リターン)。
【0095】
さらにステップS85で第三候補のパラメータにもリモートデバイスが対応していなかった場合(No)、コマンド設定部44は次にステップS87を実行する。
【0096】
ステップS87:コマンド設定部44は、次に第四候補(優先順位の第四位)のパラメータとパラメータ保持テーブル60に保持された値とを比較する。その結果、第四候補のパラメータにリモートデバイスが対応していることを確認できた場合(Yes)、コマンド設定部44はステップS88に進む。なお、リモートデバイスから通知されたパラメータが2つ以上保存されている場合、その中でいずれかのパラメータが第四候補に一致していればよいことはこれまでと同様である。
【0097】
ステップS88:この場合、コマンド設定部44は第四候補のパラメータ(例えば「MONO」)をSBCチャンネルモードに設定し、このサブルーチンを終了する(リターン)。
【0098】
これに対し、第四候補のパラメータにもリモートデバイスが対応していなかった場合(No)、コマンド設定部44はステップS89の切断処理に進む。
【0099】
〔SBCブロック長設定処理〕
次に、SBCブロック長設定処理について説明する。
図7は、上記のSBCブロック長設定処理の手順例を示すフローチャートである。なお、図6と図7の違いは、パラメータが「SBCチャンネルモード」から「SBCブロック長」に置き換わっているだけである。
【0100】
ステップS91:同様に、コマンド設定部44はSBCブロック長の優先順位管理テーブル50に記憶された第一候補(優先順位の第一位)のパラメータとパラメータ保持テーブル60に保持された値(リモートデバイスから通知されたパラメータ)とを比較する。その結果、第一候補のパラメータにリモートデバイスが対応していることを確認した場合(Yes)、コマンド設定部44はステップS92に進む。ここでも、リモートデバイスから通知されたパラメータが2つ以上保存されている場合、その中でいずれかのパラメータが第一候補に一致していればよいことはこれまでと同様である(以下では説明を省略する。)。
【0101】
ステップS92:この場合、コマンド設定部44は第一候補のパラメータ(例えば「4」)をSBCブロック長に設定し、このサブルーチンを終了する(リターン)。
【0102】
一方、先のステップS91で第一候補のパラメータにリモートデバイスが対応していなかった場合(No)、コマンド設定部44はステップS93を実行する。
【0103】
ステップS93:コマンド設定部44は、今度は第二候補(優先順位の第二位)のパラメータとパラメータ保持テーブル60に保持された値とを比較する。その結果、第二候補のパラメータにリモートデバイスが対応していることを確認できた場合(Yes)、コマンド設定部44はステップS94に進む。
【0104】
ステップS94:この場合、コマンド設定部44は第二候補のパラメータ(例えば「8」)をSBCブロック長に設定し、このサブルーチンを終了する(リターン)。
【0105】
先のステップS93で第二候補のパラメータにもリモートデバイスが対応していなかった場合(No)、コマンド設定部44は次にステップS95を実行する。
【0106】
ステップS95:コマンド設定部44は、今度は第三候補(優先順位の第三位)のパラメータとパラメータ保持テーブル60に保持された値とを比較する。その結果、第三候補のパラメータにリモートデバイスが対応していることを確認できた場合(Yes)、コマンド設定部44はステップS96に進む。
【0107】
ステップS96:この場合、コマンド設定部44は第三候補のパラメータ(例えば「12」)をSBCブロック長に設定し、このサブルーチンを終了する(リターン)。
【0108】
さらにステップS95で第三候補のパラメータにもリモートデバイスが対応していなかった場合(No)、コマンド設定部44は次にステップS97を実行する。
【0109】
ステップS97:コマンド設定部44は、次に第四候補(優先順位の第四位)のパラメータとパラメータ保持テーブル60に保持された値とを比較する。その結果、第四候補のパラメータにリモートデバイスが対応していることを確認できた場合(Yes)、コマンド設定部44はステップS98に進む。
【0110】
ステップS98:この場合、コマンド設定部44は第四候補のパラメータ(例えば「16」)をSBCブロック長に設定し、このサブルーチンを終了する(リターン)。
【0111】
これに対し、第四候補のパラメータにもリモートデバイスが対応していなかった場合(No)、コマンド設定部44はステップS99の切断処理に進む。
【0112】
〔SBCサブバンド設定処理〕
次に、SBCサブバンド設定処理について説明する。
図8は、上記のSBCサブバンド設定処理の手順例を示すフローチャートである。なお、図5と図8の違いは、パラメータが「SBCサンプリング周波数」から「SBCサブバンド」に置き換わっているだけである。
【0113】
ステップS101:コマンド設定部44はSBCサブバンドの優先順位管理テーブル52に記憶された第一候補(優先順位の第一位)のパラメータとパラメータ保持テーブル60に保持された値(リモートデバイスから通知されたパラメータ)とを比較する。その結果、第一候補のパラメータにリモートデバイスが対応していることを確認した場合(Yes)、コマンド設定部44はステップS102に進む。
【0114】
ステップS102:この場合、コマンド設定部44は第一候補のパラメータ(例えば「4」)をSBCサブバンドに設定し、このサブルーチンを終了する(リターン)。
【0115】
一方、先のステップS101で第一候補のパラメータにリモートデバイスが対応していなかった場合(No)、コマンド設定部44はステップS103を実行する。
【0116】
ステップS103:コマンド設定部44は、次に第二候補(優先順位の第二位)のパラメータとパラメータ保持テーブル60に保持された値とを比較する。その結果、第二候補のパラメータにリモートデバイスが対応していることを確認できた場合(Yes)、コマンド設定部44はステップS104に進む。
【0117】
ステップS104:この場合、コマンド設定部44は第二候補のパラメータ(例えば「8」)をSBCサブバンドに設定し、このサブルーチンを終了する(リターン)。
【0118】
これに対し、第二候補のパラメータにもリモートデバイスが対応していなかった場合(No)、コマンド設定部44はステップS105の切断処理に進む。
【0119】
〔SBCアロケーションメソッド設定処理〕
次に、SBCアロケーションメソッド設定処理について説明する。
図9は、上記のSBCアロケーションメソッド設定処理の手順例を示すフローチャートである。なお、図5と図9の違いは、パラメータが「SBCサンプリング周波数」から「SBCアロケーションメソッド」に置き換わっているだけである。
【0120】
ステップS111:コマンド設定部44はSBCアロケーションメソッドの優先順位管理テーブル54に記憶された第一候補(優先順位の第一位)のパラメータとパラメータ保持テーブル60に保持された値(リモートデバイスから通知されたパラメータ)とを比較する。その結果、第一候補のパラメータにリモートデバイスが対応していることを確認した場合(Yes)、コマンド設定部44はステップS112に進む。
【0121】
ステップS112:この場合、コマンド設定部44は第一候補のパラメータ(例えば「SNR」)をSBCアロケーションメソッドに設定し、このサブルーチンを終了する(リターン)。
【0122】
一方、先のステップS111で第一候補のパラメータにリモートデバイスが対応していなかった場合(No)、コマンド設定部44はステップS113を実行する。
【0123】
ステップS113:コマンド設定部44は、次に第二候補(優先順位の第二位)のパラメータとパラメータ保持テーブル60に保持された値とを比較する。その結果、第二候補のパラメータにリモートデバイスが対応していることを確認できた場合(Yes)、コマンド設定部44はステップS114に進む。
【0124】
ステップS114:この場合、コマンド設定部44は第二候補のパラメータ(例えば「Loudness」)をSBCアロケーションメソッドに設定し、このサブルーチンを終了する(リターン)。
【0125】
これに対し、第二候補のパラメータにもリモートデバイスが対応していなかった場合(No)、コマンド設定部44はステップS115の切断処理に進む。
【0126】
〔SBCミニマムビットプール値及びSBCマックスビットプール値設定処理〕
次に図10及び図11は、SBCミニマムビットプール値及びSBCマックスビットプール値設定処理の手順例を示すフローチャートである。この処理は、これまでの処理と内容が少し異なっている。
【0127】
ステップS121:ここでは先ず、コマンド設定部44は設定テーブル56に設定されたパラメータとして、SBCミニマムビットプール値とパラメータ保持テーブル60に保持された値(リモートデバイスから通知されたパラメータ)とを比較する。その結果、リモートデバイス(図中に「相手」と表記)の値よりローカルデバイス(図中に「自己」と表記)の値が多いことを確認した場合(Yes)、コマンド設定部44はステップS122に進む。
【0128】
ステップS122:この場合、コマンド設定部44はローカルデバイスのSBCミニマムビットプール値を今回のパラメータとして設定する。
【0129】
一方、先のステップS121でリモートデバイスの値よりローカルデバイスの値が大きくなかった場合(No)、コマンド設定部44はステップS123を実行する。
【0130】
ステップS123:この場合、コマンド設定部44はリモートデバイスのSBCミニマムビットプール値を今回のパラメータとして設定する。
【0131】
ステップS124:次にコマンド設定部44は、設定テーブル56に設定されたパラメータとして、SBCマックスビットプール値とパラメータ保持テーブル60に保持された値(リモートデバイスから通知されたパラメータ)とを比較する。その結果、リモートデバイス(図中に「相手」と表記)の値よりローカルデバイス(図中に「自己」と表記)の値が多いことを確認した場合(Yes)、コマンド設定部44はステップS125に進む。
【0132】
ステップS125:この場合、コマンド設定部44はリモートデバイスのSBCマックスビットプール値を今回のパラメータとして設定する。
【0133】
一方、先のステップS124でリモートデバイスの値よりローカルデバイスの値が大きくなかった場合(No)、コマンド設定部44はステップS126を実行する。
【0134】
ステップS126:この場合、コマンド設定部44はローカルデバイスのSBCマックスビットプール値を今回のパラメータとして設定する(図11を参照:接続記号(1)→(1)へ)。
【0135】
ステップS127:そしてコマンド設定部44は、今回設定したSBCミニマムビットプール値とSBCマックスビットプール値とを比較する。その結果、SBCミニマムビットプール値よりもマックスビットプール値の方が大きいことを確認した場合(Yes)、コマンド設定部44はこのサブルーチンを終了する(リターン)。
【0136】
これに対し、設定したSBCミニマムビットプール値よりもSBCマックスビットプール値が大きくなかった場合(No)、コマンド設定部44はステップS128の切断処理に進む。
【0137】
〔SCMSケーパビリティ設定処理〕
次に図12は、SCMSケーパビリティ設定処理の手順例を示すフローチャートである。この処理もまた、図5〜図10の処理とは内容が異なっている。
【0138】
ステップS131:ここでは先ず、コマンド設定部44はパラメータ保持テーブル60に保持されている値(リモートデバイスから通知されたパラメータ)を参照する。そして、リモートデバイス(図中に「相手」と表記)の値が「Support SCMS」であることを確認した場合(Yes)、コマンド設定部44はステップS132に進む。
【0139】
ステップS132:この場合、コマンド設定部44はSCMSケーパビリティのパラメータとして「Support SCMS」を設定する。
【0140】
一方、先のステップS131でリモートデバイスの値が「Support SCMS」でなかった場合(No)、コマンド設定部44はステップS133を実行する。
【0141】
ステップS133:この場合、コマンド設定部44はSCMSケーパビリティのパラメータとして「Not support SCMS」を設定する。
【0142】
以上の手順を終えると、コマンド設定部44はこのサブルーチンを終了する(リターン)。なお、このサブルーチンにおいて切断処理が選択されることはない。
【0143】
以上のように、(1)SBCサンプリング周波数、(2)SBCチャンネルモード、(3)SBCブロック長、(4)SBCサブバンド及び(5)SBCアロケーションメソッドについては、ローカルデバイスにおいて設定した優先順位とリモートデバイスから通知された値とを比較し、なるべく上位候補に一致するものを優先的にパラメータとして設定することができる。このため、リモートデバイスでサポートしているパラメータのうち、優先順位の高いものを設定してローカルデバイスから接続要求コマンドを発行することができるので、デバイス相互の接続性が向上するとともに、その後の無線通信を円滑に進行させることができる。
【0144】
〔切断処理〕
図13は、切断処理の内容を示すフローチャートである。ここで示す切断処理は、これまでの図5〜図9、及び図11において選択されたもの全てに共通である。
【0145】
ステップS140:切断処理を選択した場合、コマンド設定部44は接続要求コマンドの設定を行うことなく、AVDTPの切断を選択する。これにより、ローカルデバイスからリモートデバイスに対して切断コマンドが送信されるため、これ以降の接続シーケンス(図3)は中断される。
【0146】
このように、最終的にリモートデバイスでサポートしているパラメータがローカルデバイスで設定したパラメータに全く一致しなかった場合、それ以上の接続シーケンスを終了することで、双方のデバイスに接続関係が成立しないことを明らかにすることができる。この場合、ユーザは今回接続しようとしたリモートデバイスに代えて、他のリモートデバイスを選択するといった措置を早期にとることができる。
【0147】
本発明は、上述した一実施形態に制約されることなく、種々に変形して実施可能である。例えば、本発明の通信モジュールを適用するデバイスは車載ユニット12に限らず、その他のデバイスであってもよいし、また、リモートデバイスは携帯機器14,16,18等に限られるものではない。
【0148】
また、一実施形態で挙げたBTモジュール30の構成はあくまで機能的なブロック要素の例示であり、これらの機能をマイクロコンピュータ(CPU)のリソースで全て賄い、それぞれの機能をアプリケーションで実現してもよい。
【符号の説明】
【0149】
10 通信システム
12 車載ユニット
14,16,18 携帯機器
30 BTモジュール
32 BTアンテナ
33 アンテナマッチング回路
34 RF処理部
36 ベースバンド処理部
38 L2CAP処理部
40 AVDTP処理部
44 コマンド設定部
【技術分野】
【0001】
本発明は、複数のデバイス間で例えば無線通信を行うための通信モジュール及び通信方法に関するものである。
【背景技術】
【0002】
従来、画像データや音声データのように複数のフォーマット(例えば画像についてJPEG、TIFF、音声についてMP3、WMA等)が存在するデータの送信に関して、ユーザが指定した送信先に適合する推奨フォーマットを自動的に選択してデータ変換し、変換後のデータを送信先へ送信する先行技術が知られている(例えば、特許文献1参照。)。
【0003】
上記の先行技術では、携帯電話機等のユーザが保有するデバイスに予め送信先テーブルや変換ルールテーブル等の情報を格納しておき、送信先テーブルに記された複数の送信先一覧からユーザが任意の送信先を指定すると、これに対応する推奨フォーマットを変換ルールテーブルから読み出して、自動的に変換プログラムがデータフォーマットを変換するものとなっている。また先行技術では、画像データについてはフォーマットだけでなくサイズや圧縮率、音声データについてはサンプリングレート(音質)までも自動調整される。
【0004】
このため上記の先行技術によれば、ユーザが例えばデジタルカメラ等で撮像する際に予め送信先のフォーマットに合わせて画像サイズを調整したり、圧縮率を調整したりする必要がなく、スタンドアローンの状態で撮像しておいた画像を後から任意の送信先に送信することができると考えられる。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2005−227911号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
上述した先行技術の手法は、送信先のデバイスがいずれも既知であり、各送信先について推奨フォーマットが予め一意に定められている場合には有効であると考えられる。ところが近年、既知のデバイスに限らず、多種多様な未知のデバイス間でも自由に接続を行うことへのニーズが高まってきており、このようなニーズに対応しようとすると、先行技術の手法では接続を開始する時点で障害が発生する。
【0007】
例えば、未知のデバイス間で無線接続を行う場合、互いに汎用の短距離通信規約(例えばBluetooth:登録商標)を適用することで無線通信が実現可能となる(なお、ここでいう「未知のデバイス」とは、通信に用いられるパラメータが多様で一意に決まっていないことを意味しており、端末認証等は行われる。)。しかしながら、通信規約において使用可能なパラメータが複数あるとしても、その全てに双方のデバイスが必ず対応しているとは限らない。このため、無線接続時に一方のデバイスからパラメータを一意に指定した場合、他方のデバイスがそのパラメータをサポートしていなければ、その時点で接続不能に陥ってしまう。このように、未知のデバイス間での接続においては、一方のデバイスから一意にパラメータを指定しただけでは不充分であり、双方のマッチングをとる必要があるため、それだけ接続を確立するには手間を要するという問題がある。
【0008】
そこで本発明は、多種多様なデバイス間で容易に接続を実現することができる通信技術を提供しようとするものである。
【課題を解決するための手段】
【0009】
上記の課題を解決するため、本発明は以下の解決手段を採用する。
解決手段1:本発明は、無線通信機能を有したリモートデバイスとの間にて、所定の通信規約に準拠した無線通信を行うローカルデバイスに搭載される通信モジュールであって、以下の構成を備える。
【0010】
すなわち本発明の通信モジュールは、リモートデバイスとの間で所定の通信規約に基づく無線通信を行う無線通信部と、所定の通信規約で定められた複数のパラメータを記憶する記憶部と、リモートデバイスに対してローカルデバイスとの接続時に対応しているパラメータを問い合わせした結果、リモートデバイスから通知されたパラメータを用いてリモートデバイスに対する接続要求を発行する接続処理部とを備える。
【0011】
本発明の通信モジュールによれば、ローカルデバイスから一意なパラメータを指定して一方的にリモートデバイスへ接続要求を発行するのではなく、接続先となるリモートデバイスに対して事前にサポートしているパラメータの問い合わせを行い、リモートデバイスから通知されたパラメータを用いてローカルデバイスから接続要求を発行することができる。これにより、ローカルデバイスからみて未知(任意のパラメータを使用し、一意のパラメータに対応しない場合がある)のリモートデバイスであっても、容易に無線接続を確立し、その後の無線通信を円滑に進めることができる。
【0012】
また、リモートデバイスでサポートしていないパラメータを指定して無理な接続シーケンスを実行することがないので、パラメータの不一致による接続の失敗や、その後の再設定等の手間をなくすことができる。
【0013】
解決手段2:解決手段1において、通信モジュールの記憶部は、複数のパラメータについて、リモートデバイスとの接続時に優先して使用する順位を予め設定した状態で記憶するものであってもよい。そして接続処理部は、リモートデバイスに対して問い合わせした結果、リモートデバイスから通知されたパラメータが2つ以上ある場合、その中で記憶部に記憶された順位が高いパラメータを優先的に用いてリモートデバイスに対する接続要求を発行することができる。
【0014】
上記の構成によれば、リモートデバイスが2つ以上のパラメータをサポートしている場合、その中でも順位の高いパラメータを優先的に適用して接続を開始することができる。このため例えば、通信規約においてスループットが比較的高いパラメータと低いパラメータの2通りをリモートデバイスがサポートしていた場合、その中で比較的スループットの高いパラメータを優先的に使用して無線接続を実行することにより、通信品質を向上することができる。
【0015】
解決手段3:解決手段1,2において、上記の記憶部は、パラメータとしてサンプリング周波数、もしくはチャンネルモード、もしくはブロック長、もしくはサブバンド、もしくはアロケーションメソッドの少なくともいずれか1つについて、複数の値を記憶している。
【0016】
このように、記憶部が複数の値をパラメータとして記憶していれば、それだけ選択の幅を広げることができる。このため、たとえリモートデバイスからみて接続先のリモートデバイスが未知であり、かつ、複数種類のものがあったとしても、いずれかの対応するパラメータを用いて接続要求を発行することができる。
【0017】
解決手段4:解決手段3において、パラメータがいずれもSBC(サブバンドコーデック)を用いるものであることが好ましい。この場合、特に音声データやオーディオデータの圧縮に適したパラメータを用いて通信を行うことができるため、例えばリモートデバイスからローカルデバイスへオーディオデータを転送したり、音声データの送受信を行ったりする用途に好適する。
【0018】
解決手段5:解決手段1から4において、無線通信部は、リモートデバイスとの間でAVDTP(オーディオビデオ配信トランスポートプロトコル)に基づく通信を行うことができる。
【0019】
この場合、リモートデバイスに格納されているオーディオデータをローカルデバイスに転送しながらリアルタイムに再生するといった利用形態に適しているため、ユーザが保有する多種多様な未知のデバイスをローカルデバイスに接続して、オーディオ機器として利用する際の利便性が向上する。
【0020】
解決手段6:また本発明は、無線通信機能を有したリモートデバイスとローカルデバイスとの間にて、所定の通信規約に準拠した無線通信を行うための通信方法であって、以下の工程を有する。
【0021】
(1)指定工程
この工程では、所定の通信規約で定められた複数のパラメータを指定する。
【0022】
(2)質問工程
この工程では、ローカルデバイスからリモートデバイスに対して、ローカルデバイスとの接続時に対応しているパラメータを問い合わせする。
【0023】
(3)受領工程
この工程では、ローカルデバイスにて、問い合わせに対するリモートデバイスからの応答を通知として受け取る。これにより、ローカルデバイスではリモートデバイスがどのパラメータに対応(サポート)しているのかを知ることができる。
【0024】
(4)発行工程
そしてこの工程では、リモートデバイスから通知されたパラメータを用いてリモートデバイスに対する接続要求を発行する。
【0025】
以上の(1)〜(4)の工程を実行することにより、ローカルデバイスから一意なパラメータを指定して一方的にリモートデバイスへ接続要求を発行することなく、接続先となるリモートデバイスに対して事前にサポートしているパラメータの問い合わせを行った上で、リモートデバイスから通知されたパラメータを用いてローカルデバイスから接続要求を発行することができる。これにより、ローカルデバイスからみて未知(任意のパラメータを使用し、一意のパラメータに対応しない場合がある)のリモートデバイスであっても、容易に無線接続を確立し、その後の無線通信を円滑に進めることができる。
【0026】
また、リモートデバイスでサポートしていないパラメータを指定して無理な接続シーケンスを実行することがないので、パラメータの不一致による接続の失敗や、その後の再設定処理等の手間をなくすことができる。
【0027】
上記(1)の指定工程では、複数のパラメータについて、リモートデバイスとの接続時に優先して使用する順位を予め設定した状態で指定することができる。そして、上記(4)の発行工程では、上記(3)の受領工程でリモートデバイスから通知されたパラメータが2つ以上ある場合、その中から(1)の指定工程で設定された順位の高いパラメータを優先的に用いてリモートデバイスに対する接続要求を発行することとしてもよい。
【0028】
上記の手順を用いれば、リモートデバイスが2つ以上のパラメータをサポートしている場合、その中でも順位の高いパラメータを優先的に適用して接続を開始することができる。このため例えば、通信規約においてスループットが比較的高いパラメータと低いパラメータの2通りをリモートデバイスがサポートしていた場合、その中で比較的スループットの高いパラメータを優先的に使用して無線接続を実行することにより、通信品質を向上することができる。
【0029】
また上記(1)の指定工程では、パラメータとしてサンプリング周波数、もしくはチャンネルモード、もしくはブロック長、もしくはサブバンド、もしくはアロケーションメソッドの少なくともいずれか1つについて、複数の値を指定することができる。
【0030】
このように、(1)指定工程において複数の値をパラメータとして指定していれば、(2)の質問工程及び(3)の受領工程を経た上で、それだけ適用するパラメータの選択の幅を広げることができる。このため、たとえリモートデバイスからみて接続先のリモートデバイスが未知であり、かつ、複数種類のものがあったとしても、(4)の発行工程では、いずれかの対応するパラメータを用いて接続要求を発行することができる。
【0031】
なお、本発明の通信方法においても、パラメータがいずれもSBC(サブバンドコーデック)を用いるものであることが好ましい。また、ローカルデバイスとリモートデバイスとの間では、AVDTP(オーディオビデオ配信トランスポートプロトコル)に基づく通信を行うことができる。
【0032】
これにより、リモートデバイスからローカルデバイスへオーディオデータを転送したり、音声データの送受信を行ったりする用途に好適し、またユーザが保有する多種多様な未知のデバイスをローカルデバイスに接続して、オーディオ機器として利用する際の利便性を向上することができる。
【発明の効果】
【0033】
以上のように本発明の通信モジュール及び通信方法は、多様なデバイス間での接続性を向上し、無線接続を利用したデバイスの利便性を高めることができる。
【0034】
また、接続のやり直しやパラメータの再設定を行う手間が不要になるので、それだけ接続に要する時間を短縮することができる。
【0035】
さらに、最終的にリモートデバイスとローカルデバイスとの接続が確立できなかった場合、そのリモートデバイスにはローカルデバイスとの接続適正がないことを明らかに知ることができる。これにより、何度も接続を試みて失敗したり、原因不明のまま延々と再設定をし直したりすることを未然に防止することができる。
【図面の簡単な説明】
【0036】
【図1】一実施形態の通信モジュール(BTモジュール)が適用された通信システムの構成例を概略的に示す図である。
【図2】BTモジュールのハード構成例を概略的に示すブロック図である。
【図3】ローカルデバイスとリモートデバイスとの間でAVDTPによる無線接続を確立するまでの流れを示すシーケンス図である。
【図4】接続シーケンス中に実行されるパラメータ設定ルーチンの手順例を具体的に示したフローチャートである。
【図5】SBCサンプリング周波数設定処理の手順例を示すフローチャートである。
【図6】SBCチャンネルモード設定処理の手順例を示すフローチャートである。
【図7】SBCブロック長設定処理の手順例を示すフローチャートである。
【図8】SBCサブバンド設定処理の手順例を示すフローチャートである。
【図9】SBCアロケーションメソッド設定処理の手順例を示すフローチャートである。
【図10】SBCミニマムビットプール値及びSBCマックスビットプール値設定処理の手順例を示すフローチャート(1/2)である。
【図11】SBCミニマムビットプール値及びSBCマックスビットプール値設定処理の手順例を示すフローチャート(2/2)である。
【図12】SCMSケーパビリティ設定処理の手順例を示すフローチャートである。
【図13】切断処理の内容を示すフローチャートである。
【発明を実施するための形態】
【0037】
以下、図面を参照しながら本発明の実施形態について説明する。
【0038】
図1は、一実施形態の通信モジュール(BTモジュール30)が適用された通信システム10の構成例を概略的に示す図である。この通信システム10は、例えば自動車に搭載された車載電装ユニット12をローカルデバイスとし、車内に持ち込まれる各種の携帯機器14,16,18をそれぞれリモートデバイスとして構成されている。これら車載電装ユニット12や携帯機器14,16,18は、いずれもブルートゥース(Bluetooth:登録商標)規格に準拠した無線通信機能を有している。なお、以下の説明では、Bluetooth(登録商標)を「BT」と略称するものとする。
【0039】
車載電装ユニット12は、例えば走行経路誘導(ナビゲーション)機能を有するほか、オーディオ再生機能やビデオ再生機能、ラジオ、テレビ等の受信機能等を有する。このため車載電装ユニット12には、液晶ディプレイ等を用いた表示部20や、図示しないプッシュスイッチ、キースイッチ、回転つまみ等を有した操作部22が付属するほか、音響出力用のスピーカ24、マイク26等の周辺機器が付属している。
【0040】
また車載電装ユニット12は、上記の周辺機器を制御する制御部28を内蔵するほか、BTによる無線通信機能を発揮するためにBTモジュール30を内蔵している。なお制御部28は、例えば中央処理装置であるCPUや、ROM、RAM等のメモリデバイスを備えたマイクロコンピュータである。またBTモジュール30は、車載電装ユニット12(制御部28)をホストとしてBT通信を用いたサービス(例えば無線接続)を提供することができる。
【0041】
携帯機器14,16,18は、例えば携帯音楽プレーヤ、携帯情報端末、携帯電話機等のユーザが携帯して使用することができる電子機器である。いずれにしても、携帯機器14,16,18にも図示しないBTモジュールが内蔵されており、このBTモジュールを用いて携帯機器14,16,18はそれぞれBTによる無線通信機能を発揮することができる。
【0042】
〔無線接続の利用形態〕
通信システム10は、例えば音楽プレーヤ型の携帯機器14と車載電装ユニット12とを無線接続させた状態で、携帯機器14に格納されているオーディオデータを車載電装ユニット12に転送しながらリアルタイムで再生し、そのスピーカ24から音楽を出力する機能を提供することができる。
【0043】
また通信システム10は、携帯情報端末である携帯機器16と車載電装ユニット12とを無線接続させた状態で、携帯機器16に格納されているアドレス帳のデータを車載電装ユニット12に転送し、これを表示部20に出力する機能を提供することができる。あるいは、通信システム10は携帯機器18と車載電装ユニット12とを無線接続(BTリンク)させた状態で、いわゆる「ハンズフリー通話」機能を提供することができる。
【0044】
通信システム10において上記のような機能を実現するには、その前提として車載電装ユニット12と各種の携帯機器14,16,18との間で確実に無線接続が確立されている必要がある。このとき通信システム10は、単一の車載電装ユニット12に対して、その通信対象(接続先)となる各種の携帯機器14,16,18を含んでいる。特に、車載電装ユニット12がある程度固定されたローカルデバイスとすると、ユーザによって車内に持ち込まれる携帯機器14,16,18等は多種多様であり、これらは一意のパラメータだけに対応するとは限らず、ローカルデバイスからみると未知のリモートデバイスとなる(ただしBT端末認証は行われるものとする。)。
【0045】
一方、BT通信においては、複数のデバイス間で無線接続を確立する際に複数のパラメータが用いられており、このため車載電装ユニット12(ローカルデバイス)が一意にパラメータを指定しようとしても、接続先の携帯機器14,16,18等がそのパラメータをサポートしていなければ、両者の間で無線接続が成立しない。
【0046】
そこで本実施形態では、車載電装ユニット12(ローカルデバイス)側のBTモジュール30が以下の構成を有することで、多様な携帯機器14,16,18(未知のリモートデバイス)との間での無線接続を実現している。
【0047】
〔BTモジュールの構成例〕
図2は、BTモジュール30のハード構成例を概略的に示すブロック図である。BTモジュール30は、例えば車載電装ユニット12内でBTアンテナ32及びアンテナマッチング回路33に接続されており、これらBTアンテナ32及びアンテナマッチング回路33により他のBT機器(ここでは携帯機器14〜18)との間でBT規格による無線通信を行うことができる(無線通信部)。なお、BTアンテナ32やアンテナマッチング回路33はBTモジュール30に内蔵されていてもよい。
【0048】
BTモジュール30は、RF処理部34、ベースバンド処理部36及びL2CAP処理部38を有しており、このうちRF処理部34は、BTアンテナ32及びアンテナマッチング回路33を通じてRF信号の受信処理を行う。またベースバンド処理部36は、RF処理部34にて受信した信号をIF信号に変換し、復調してパケットデータ(受信パケット)を生成する。L2CAP処理部38は、ベースバンド処理部36で生成されたパケットデータを上位レイヤ向けに再構築する。ここで再構築されたパケットデータは、BTモジュール30内で上位レイヤの処理部に提供される。
【0049】
またL2CAP処理部38には、上位レイヤから送信用パケットデータ(送信フレーム)が提供される。そして、L2CAP処理部38に提供された送信用パケットデータは、上記のベースバンド処理部36で変調され、RF処理部34、アンテナマッチング回路33及びBTアンテナ32を通じて携帯機器14〜18に送信される。
【0050】
BTモジュール30はAVDTP処理部40及びその他プロファイル処理部42を有しており、これら処理部40,42はL2CAP処理部38の上位レイヤに位置付けられている。AVDTP処理部40は、BT通信におけるオーディオビデオ配信プロトコル(Audio/Video Distribution Transport Protocol:以下、「AVDTP」と略称する。)を用いた接続シーケンス及び通信処理を実行するものである。なお、その他プロファイル処理部42は、BT通信におけるAVDTP以外の通信プロファイル(例えばシリアルポートプロファイル)を用いた接続シーケンス及び通信処理を実行する。
【0051】
〔接続処理部〕
AVDTP処理部40は、さらにコマンド設定部44を有しており、このコマンド設定部44は、AVDTPによる接続シーケンスの実行に際して、リモートデバイスである携帯機器14,16,18等に対する接続要求のコマンド(図中、「AVDTP_SET_CONFIGURATION_CMD」と記述)を発行する。
【0052】
〔記憶部〕
コマンド設定部44には、さらに複数のパラメータ優先順位管理テーブル46,48,50,52,54及びパラメータ設定テーブル56,58が含まれており、これら各種テーブル46〜58には、上記の接続要求コマンドを設定するための各種パラメータが記憶されている。
【0053】
〔パラメータ〕
ここで本実施形態では、AVDTPで用いられるパラメータとして、例えば以下のものを適用している。なお、以下の「SBC」は、BT通信で用いられるサブバッドコーデック(Sub Band Codec)の略称である。また各パラメータとして、それぞれ括弧内に複数の値を例として挙げている。
【0054】
(1)SBCサンプリング周波数(48kHz,44.1kHz)
(2)SBCチャンネルモード(MONO,DUALCHANNEL,STEREO,JOINTSTEREO)
(3)SBCブロック長(4,8,12,16)
(4)SBCサブバンド(4,8)
(5)SBCアロケーションメソッド(SNR,Loudness)
(6)SBCミニマムビットプール値(2から53の任意の整数)
(7)SBCマックスビットプール値(2から53の任意の整数)
(8)SCMSケーパビリティ(Not support SCMS,Support SCMS)
【0055】
また上記のパラメータのうち、(1)のSBCサンプリング周波数から(5)のSBCアロケーションメソッドについては、それぞれ優先順位管理テーブル46〜54において複数の値に優先順位を付した状態で記憶されている。例えば、(1)のSBCサンプリング周波数については、「44.1kHz」を優先順位の第一位とし、「48kHz」を優先順位の第二位とする等である(逆でもよい。)。また、(2)のSBCチャンネルモードについては、例えば「JOINTSTEREO」を優先順位の第一位とし、「STEREO」を優先順位の第二位とし、「DUALCHANNEL」を優先順位の第三位とし、そして「MONO」を優先順位の第四位とする等である(これ以外でもよい。)。
【0056】
その他の(6)SBCミニマムビットプール値及び(7)SBCマックスビットプール値については、1つの設定テーブル56に値が記憶されている。また(8)SCMSケーパビリティについては、別の設定テーブル58に値が記憶されている。
【0057】
またコマンド設定部44には、各種テーブル46〜58の他にパラメータ保持テーブル60が含まれており、このパラメータ保持テーブル60には、リモートデバイスである携帯機器14,16,18等から通知されたパラメータの値が保持されるものとなっている。なお、リモートデバイスから送信される通知(図中、「AVDTP_GET_CAPABILITIES_RSP」と記述)についてはさらに後述する。
【0058】
そしてコマンド設定部44には、プログラムとしてパラメータ設定ルーチン62が記憶されている。このパラメータ設定ルーチン62をコマンド設定部44が実行することで、AVDTP処理部40から発行される接続要求のコマンド「AVDTP_SET_CONFIGURATION_CMD」を設定することができる。なお、パラメータ設定ルーチン62の詳細については、具体的なフローチャートを参照しながら後述する。
【0059】
この他に、BTモジュール30はホストインターフェース64を有しており、このホストインターフェース64は、上記の車載ユニット12が有する制御部28をホスト(HOST)としたとき、このホストとBTモジュール30との間の通信を制御する。
【0060】
例えば、ユーザが車載ユニット12の操作部22を通じてBT通信に関する操作を実行した場合、ホスト側の制御部28からホストインターフェース64に動作信号が送信され、これを受けてホストインターフェース64はAVDTP処理部40やその他プロファイル処理部42の動作を制御する。またホストインターフェース64は、AVDTP処理部40やその他プロファイル処理部42により受信されたパケットデータをホスト側の制御部28に出力する。またAVDTP処理部40で処理された音響データ(オーディオデータや音声通話データ等)は、車載電装ユニット12内のD/A変換回路66でアナログ信号(電圧)に変換され、後段のアンプ68を通じてスピーカ24に出力される。
【0061】
これにより、例えば携帯機器18からBT通信で受信したオーディオデータや音声通話データ等を車載ユニット12のスピーカ24から出力したり、逆にマイク26で拾った音声を携帯機器18に転送したりすることが可能になる。
【0062】
〔BT通信方法〕
次に、本実施形態の通信システム10において実行される通信方法の一例について説明する。
【0063】
〔接続シーケンス〕
図3は、ローカルデバイスとリモートデバイスとの間でAVDTPによる無線接続を確立するまでの流れを示すシーケンス図である。図3中、左側に位置する2本のカラムにはローカルデバイス(車載ユニット12)による処理を示し、右側に位置する2本のカラムにはリモートデバイス(例えば携帯機器14)による処理を示す。なお以下の説明では、それぞれを単にローカルデバイス、リモートデバイスと一般化して呼称する。
【0064】
〔指定工程〕
S1:接続シーケンスの開始に伴い、ローカルデバイスのホストアプリケーションからBTモジュール30に対して各種パラメータの優先順位が指定される(図中、「AVDTP_SET_CONFIGURATION」と記述)。特に図示していないが、上記の指定を受けてBTモジュール30のAVDTP処理部40は、各種パラメータについて指定された優先順位を対応する優先順位管理テーブル46〜54に保存する。
【0065】
S2:続いてホストアプリケーションからBTモジュール30に対し、BT通信規約に基づいてAVDTP接続要求が指示される。
【0066】
〔質問工程〕
S3:これを受けてBTモジュール30は、リモートデバイスに対して問い合わせコマンドを送信する(図中、「AVDTP_GET_CAPABILITIES_CMD」と記述)。このコマンドは、リモートデバイスが実際に対応(サポート)しているパラメータを問い合わせし、その回答を要求するためのものである。
【0067】
S4:上記の要求を受けると、リモートデバイス内での処理として、例えばAVDTP処理部からホストアプリケーションに対して要求(図中、「AVDTP_Get_Capabilities_Ind」と記述)が伝達される。
【0068】
S5:リモートデバイス内のホストアプリケーションは、要求に応じて自己が対応しているパラメータをAVDTP処理部に対して通知する(図中、「AVDTP_Get_Capabilities_Rsp」と記述)。
【0069】
〔受領工程〕
S6:そしてリモートデバイスは、BT通信規約に基づいて自己が対応しているパラメータをローカルデバイスに対して通知する(図中、「AVDTP_GET_CAPABILITIES_RSP」と記述)。
【0070】
特に図示していないが、このときローカルデバイスはリモートデバイスからの通知を受領すると、その値をパラメータ保持テーブル60に保存する。また、ローカルデバイスから通知されたパラメータが2つ以上ある場合、その全てのパラメータを保持テーブル60に保存する。
【0071】
〔発行工程〕
S7:通知を受領すると、先ずローカルデバイスはパラメータを自動的に設定する。ここでは、ホストアプリケーションで指定(設定)されたパラメータの優先順位(「AVDTP_SET_CONFIGURATION」)とリモートデバイスから受領した通知の値(「AVDTP_GET_CAPABILITIES_RSP」)とを比較して、次のリモートデバイスに対する接続要求コマンド(「AVDTP_SET_CONFIGURATION_CMD」)のパラメータを自動的に設定する。なお、このときローカルデバイス(コマンド設定部44)において上記のパラメータ設定ルーチン62が呼び出され、その手順に沿って処理が実行される。処理の具体的な手順は、さらに別のフローチャートを用いて後述する。
【0072】
S8:そして、上記のようにパラメータを自動設定すると、ローカルデバイスからリモートデバイスに対して実際に接続要求を発行する。
【0073】
S9:リモートデバイスが接続要求コマンドを受信すると、リモートデバイス内での処理として、例えばAVDTP処理部からホストアプリケーションに対して接続要求(図中、「AVDTP_Set_Configuration_Ind」と記述)が伝達される。
【0074】
S10:次にリモートデバイス内のホストアプリケーションは、接続要求に対する応答をAVDTP処理部に対して通知する(図中、「AVDTP_Set_Configuration_Rsp」と記述)。
【0075】
S11:そしてリモートデバイスは、BT通信規約に基づいて接続要求に対する応答をローカルデバイスに対して通知する(図中、「AVDTP_SET_CONFIGURATION_RSP」と記述)。このときローカルデバイスは、リモートデバイスからの応答通知を受領する。
【0076】
S12:リモートデバイスからの応答通知を受領すると、ローカルデバイス内ではBTモジュール30からホストアプリケーションに対してAVDTP接続に成功したことが通知される。これ以降、ローカルデバイスとリモートデバイスとの間では、AVDTPによる無線通信が実行されることになる。
【0077】
〔パラメータ設定ルーチン〕
図4は、上記の接続シーケンス中(S7)に実行されるパラメータ設定ルーチンの手順例を具体的に示したフローチャートである。先ず、パラメータ設定ルーチンの構成について概要を説明する。
【0078】
コマンド設定処理は、SBCサンプリング周波数設定処理(ステップS70)、SBCチャンネルモード設定処理(ステップS80)、SBCブロック長設定処理(ステップS90)、SBCサブバンド設定処理(ステップS100)、SBCアロケーションメソッド設定処理(ステップS110)、SBCミニマムビットプール値及びSBCマックスビットプール値設定処理(ステップS120)及びSCMSケーパビリティ設定処理(ステップS130)のサブルーチン群を含む構成である。コマンド設定部44は、これらサブルーチン群を順次実行することで、接続要求コマンドのパラメータを自動設定することができる。以下、それぞれのサブルーチンについてさらに具体的に説明する。
【0079】
〔SBCサンプリング周波数設定処理〕
図5は、上記のSBCサンプリング周波数設定処理の手順例を示すフローチャートである。なお、以下ではBTモジュール30のコマンド設定部44が主体となって処理を実行するものとして説明する。
【0080】
ステップS71:ここでは先ず、コマンド設定部44は優先順位管理テーブル46に記憶された第一候補(優先順位の第一位)のパラメータとパラメータ保持テーブル60に保持された値(リモートデバイスから通知されたパラメータ)とを比較する。その結果、第一候補のパラメータにリモートデバイス(図中に「相手機器」と表記)が対応していることを確認した場合(Yes)、ステップS72に進む。なお、リモートデバイスから通知されたパラメータが2つ以上保存されている場合、その中でいずれかのパラメータが第一候補に一致していればよい。
【0081】
ステップS72:この場合、コマンド設定部44は第一候補のパラメータ(例えば「44.1kHz」)をSBCサンプリング周波数に設定し、このサブルーチンを終了する(リターン)。
【0082】
一方、先のステップS71で第一候補のパラメータにリモートデバイスが対応していなかった場合(No)、コマンド設定部44はステップS73を実行する。
【0083】
ステップS73:コマンド設定部44は、今度は第二候補(優先順位の第二位)のパラメータとパラメータ保持テーブル60に保持された値とを比較する。その結果、第二候補のパラメータにリモートデバイスが対応していることを確認できた場合(Yes)、コマンド設定部44はステップS74に進む。なお、ここでもリモートデバイスから通知されたパラメータが2つ以上保存されている場合、その中でいずれかのパラメータが第二候補に一致していればよい。
【0084】
ステップS74:この場合、コマンド設定部44は第二候補のパラメータ(例えば「48kHz」)をSBCサンプリング周波数に設定し、このサブルーチンを終了する(リターン)。
【0085】
これに対し、第二候補のパラメータにもリモートデバイスが対応していなかった場合(No)、コマンド設定部44はステップS75の切断処理に進む。なお切断処理については、最後にまとめて説明する。
【0086】
〔SBCチャンネルモード設定処理〕
次に、SBCチャンネルモード設定処理について説明する。
図6は、上記のSBCチャンネルモード設定処理の手順例を示すフローチャートである。以下、手順例を挙げて説明する。
【0087】
ステップS81:ここでも同様に、コマンド設定部44はSBCチャンネルモードの優先順位管理テーブル48に記憶された第一候補(優先順位の第一位)のパラメータとパラメータ保持テーブル60に保持された値(リモートデバイスから通知されたパラメータ)とを比較する。その結果、第一候補のパラメータにリモートデバイスが対応していることを確認した場合(Yes)、コマンド設定部44はステップS82に進む。また同様に、リモートデバイスから通知されたパラメータが2つ以上保存されている場合、その中でいずれかのパラメータが第一候補に一致していればよい。
【0088】
ステップS82:この場合、コマンド設定部44は第一候補のパラメータ(例えば「JOINTSTEREO」)をSBCチャンネルモードに設定し、このサブルーチンを終了する(リターン)。
【0089】
一方、先のステップS81で第一候補のパラメータにリモートデバイスが対応していなかった場合(No)、コマンド設定部44はステップS83を実行する。
【0090】
ステップS83:コマンド設定部44は、今度は第二候補(優先順位の第二位)のパラメータとパラメータ保持テーブル60に保持された値とを比較する。その結果、第二候補のパラメータにリモートデバイスが対応していることを確認できた場合(Yes)、コマンド設定部44はステップS84に進む。なお、ここでもリモートデバイスから通知されたパラメータが2つ以上保存されている場合、その中でいずれかのパラメータが第二候補に一致していればよい。
【0091】
ステップS84:この場合、コマンド設定部44は第二候補のパラメータ(例えば「STEREO」)をSBCチャンネルモードに設定し、このサブルーチンを終了する(リターン)。
【0092】
先のステップS83で第二候補のパラメータにもリモートデバイスが対応していなかった場合(No)、コマンド設定部44は次にステップS85を実行する。
【0093】
ステップS85:コマンド設定部44は、今度は第三候補(優先順位の第三位)のパラメータとパラメータ保持テーブル60に保持された値とを比較する。その結果、第三候補のパラメータにリモートデバイスが対応していることを確認できた場合(Yes)、コマンド設定部44はステップS86に進む。なお、ここでもリモートデバイスから通知されたパラメータが2つ以上保存されている場合、その中でいずれかのパラメータが第三候補に一致していればよい。
【0094】
ステップS86:この場合、コマンド設定部44は第三候補のパラメータ(例えば「DUALCHANNEL」)をSBCチャンネルモードに設定し、このサブルーチンを終了する(リターン)。
【0095】
さらにステップS85で第三候補のパラメータにもリモートデバイスが対応していなかった場合(No)、コマンド設定部44は次にステップS87を実行する。
【0096】
ステップS87:コマンド設定部44は、次に第四候補(優先順位の第四位)のパラメータとパラメータ保持テーブル60に保持された値とを比較する。その結果、第四候補のパラメータにリモートデバイスが対応していることを確認できた場合(Yes)、コマンド設定部44はステップS88に進む。なお、リモートデバイスから通知されたパラメータが2つ以上保存されている場合、その中でいずれかのパラメータが第四候補に一致していればよいことはこれまでと同様である。
【0097】
ステップS88:この場合、コマンド設定部44は第四候補のパラメータ(例えば「MONO」)をSBCチャンネルモードに設定し、このサブルーチンを終了する(リターン)。
【0098】
これに対し、第四候補のパラメータにもリモートデバイスが対応していなかった場合(No)、コマンド設定部44はステップS89の切断処理に進む。
【0099】
〔SBCブロック長設定処理〕
次に、SBCブロック長設定処理について説明する。
図7は、上記のSBCブロック長設定処理の手順例を示すフローチャートである。なお、図6と図7の違いは、パラメータが「SBCチャンネルモード」から「SBCブロック長」に置き換わっているだけである。
【0100】
ステップS91:同様に、コマンド設定部44はSBCブロック長の優先順位管理テーブル50に記憶された第一候補(優先順位の第一位)のパラメータとパラメータ保持テーブル60に保持された値(リモートデバイスから通知されたパラメータ)とを比較する。その結果、第一候補のパラメータにリモートデバイスが対応していることを確認した場合(Yes)、コマンド設定部44はステップS92に進む。ここでも、リモートデバイスから通知されたパラメータが2つ以上保存されている場合、その中でいずれかのパラメータが第一候補に一致していればよいことはこれまでと同様である(以下では説明を省略する。)。
【0101】
ステップS92:この場合、コマンド設定部44は第一候補のパラメータ(例えば「4」)をSBCブロック長に設定し、このサブルーチンを終了する(リターン)。
【0102】
一方、先のステップS91で第一候補のパラメータにリモートデバイスが対応していなかった場合(No)、コマンド設定部44はステップS93を実行する。
【0103】
ステップS93:コマンド設定部44は、今度は第二候補(優先順位の第二位)のパラメータとパラメータ保持テーブル60に保持された値とを比較する。その結果、第二候補のパラメータにリモートデバイスが対応していることを確認できた場合(Yes)、コマンド設定部44はステップS94に進む。
【0104】
ステップS94:この場合、コマンド設定部44は第二候補のパラメータ(例えば「8」)をSBCブロック長に設定し、このサブルーチンを終了する(リターン)。
【0105】
先のステップS93で第二候補のパラメータにもリモートデバイスが対応していなかった場合(No)、コマンド設定部44は次にステップS95を実行する。
【0106】
ステップS95:コマンド設定部44は、今度は第三候補(優先順位の第三位)のパラメータとパラメータ保持テーブル60に保持された値とを比較する。その結果、第三候補のパラメータにリモートデバイスが対応していることを確認できた場合(Yes)、コマンド設定部44はステップS96に進む。
【0107】
ステップS96:この場合、コマンド設定部44は第三候補のパラメータ(例えば「12」)をSBCブロック長に設定し、このサブルーチンを終了する(リターン)。
【0108】
さらにステップS95で第三候補のパラメータにもリモートデバイスが対応していなかった場合(No)、コマンド設定部44は次にステップS97を実行する。
【0109】
ステップS97:コマンド設定部44は、次に第四候補(優先順位の第四位)のパラメータとパラメータ保持テーブル60に保持された値とを比較する。その結果、第四候補のパラメータにリモートデバイスが対応していることを確認できた場合(Yes)、コマンド設定部44はステップS98に進む。
【0110】
ステップS98:この場合、コマンド設定部44は第四候補のパラメータ(例えば「16」)をSBCブロック長に設定し、このサブルーチンを終了する(リターン)。
【0111】
これに対し、第四候補のパラメータにもリモートデバイスが対応していなかった場合(No)、コマンド設定部44はステップS99の切断処理に進む。
【0112】
〔SBCサブバンド設定処理〕
次に、SBCサブバンド設定処理について説明する。
図8は、上記のSBCサブバンド設定処理の手順例を示すフローチャートである。なお、図5と図8の違いは、パラメータが「SBCサンプリング周波数」から「SBCサブバンド」に置き換わっているだけである。
【0113】
ステップS101:コマンド設定部44はSBCサブバンドの優先順位管理テーブル52に記憶された第一候補(優先順位の第一位)のパラメータとパラメータ保持テーブル60に保持された値(リモートデバイスから通知されたパラメータ)とを比較する。その結果、第一候補のパラメータにリモートデバイスが対応していることを確認した場合(Yes)、コマンド設定部44はステップS102に進む。
【0114】
ステップS102:この場合、コマンド設定部44は第一候補のパラメータ(例えば「4」)をSBCサブバンドに設定し、このサブルーチンを終了する(リターン)。
【0115】
一方、先のステップS101で第一候補のパラメータにリモートデバイスが対応していなかった場合(No)、コマンド設定部44はステップS103を実行する。
【0116】
ステップS103:コマンド設定部44は、次に第二候補(優先順位の第二位)のパラメータとパラメータ保持テーブル60に保持された値とを比較する。その結果、第二候補のパラメータにリモートデバイスが対応していることを確認できた場合(Yes)、コマンド設定部44はステップS104に進む。
【0117】
ステップS104:この場合、コマンド設定部44は第二候補のパラメータ(例えば「8」)をSBCサブバンドに設定し、このサブルーチンを終了する(リターン)。
【0118】
これに対し、第二候補のパラメータにもリモートデバイスが対応していなかった場合(No)、コマンド設定部44はステップS105の切断処理に進む。
【0119】
〔SBCアロケーションメソッド設定処理〕
次に、SBCアロケーションメソッド設定処理について説明する。
図9は、上記のSBCアロケーションメソッド設定処理の手順例を示すフローチャートである。なお、図5と図9の違いは、パラメータが「SBCサンプリング周波数」から「SBCアロケーションメソッド」に置き換わっているだけである。
【0120】
ステップS111:コマンド設定部44はSBCアロケーションメソッドの優先順位管理テーブル54に記憶された第一候補(優先順位の第一位)のパラメータとパラメータ保持テーブル60に保持された値(リモートデバイスから通知されたパラメータ)とを比較する。その結果、第一候補のパラメータにリモートデバイスが対応していることを確認した場合(Yes)、コマンド設定部44はステップS112に進む。
【0121】
ステップS112:この場合、コマンド設定部44は第一候補のパラメータ(例えば「SNR」)をSBCアロケーションメソッドに設定し、このサブルーチンを終了する(リターン)。
【0122】
一方、先のステップS111で第一候補のパラメータにリモートデバイスが対応していなかった場合(No)、コマンド設定部44はステップS113を実行する。
【0123】
ステップS113:コマンド設定部44は、次に第二候補(優先順位の第二位)のパラメータとパラメータ保持テーブル60に保持された値とを比較する。その結果、第二候補のパラメータにリモートデバイスが対応していることを確認できた場合(Yes)、コマンド設定部44はステップS114に進む。
【0124】
ステップS114:この場合、コマンド設定部44は第二候補のパラメータ(例えば「Loudness」)をSBCアロケーションメソッドに設定し、このサブルーチンを終了する(リターン)。
【0125】
これに対し、第二候補のパラメータにもリモートデバイスが対応していなかった場合(No)、コマンド設定部44はステップS115の切断処理に進む。
【0126】
〔SBCミニマムビットプール値及びSBCマックスビットプール値設定処理〕
次に図10及び図11は、SBCミニマムビットプール値及びSBCマックスビットプール値設定処理の手順例を示すフローチャートである。この処理は、これまでの処理と内容が少し異なっている。
【0127】
ステップS121:ここでは先ず、コマンド設定部44は設定テーブル56に設定されたパラメータとして、SBCミニマムビットプール値とパラメータ保持テーブル60に保持された値(リモートデバイスから通知されたパラメータ)とを比較する。その結果、リモートデバイス(図中に「相手」と表記)の値よりローカルデバイス(図中に「自己」と表記)の値が多いことを確認した場合(Yes)、コマンド設定部44はステップS122に進む。
【0128】
ステップS122:この場合、コマンド設定部44はローカルデバイスのSBCミニマムビットプール値を今回のパラメータとして設定する。
【0129】
一方、先のステップS121でリモートデバイスの値よりローカルデバイスの値が大きくなかった場合(No)、コマンド設定部44はステップS123を実行する。
【0130】
ステップS123:この場合、コマンド設定部44はリモートデバイスのSBCミニマムビットプール値を今回のパラメータとして設定する。
【0131】
ステップS124:次にコマンド設定部44は、設定テーブル56に設定されたパラメータとして、SBCマックスビットプール値とパラメータ保持テーブル60に保持された値(リモートデバイスから通知されたパラメータ)とを比較する。その結果、リモートデバイス(図中に「相手」と表記)の値よりローカルデバイス(図中に「自己」と表記)の値が多いことを確認した場合(Yes)、コマンド設定部44はステップS125に進む。
【0132】
ステップS125:この場合、コマンド設定部44はリモートデバイスのSBCマックスビットプール値を今回のパラメータとして設定する。
【0133】
一方、先のステップS124でリモートデバイスの値よりローカルデバイスの値が大きくなかった場合(No)、コマンド設定部44はステップS126を実行する。
【0134】
ステップS126:この場合、コマンド設定部44はローカルデバイスのSBCマックスビットプール値を今回のパラメータとして設定する(図11を参照:接続記号(1)→(1)へ)。
【0135】
ステップS127:そしてコマンド設定部44は、今回設定したSBCミニマムビットプール値とSBCマックスビットプール値とを比較する。その結果、SBCミニマムビットプール値よりもマックスビットプール値の方が大きいことを確認した場合(Yes)、コマンド設定部44はこのサブルーチンを終了する(リターン)。
【0136】
これに対し、設定したSBCミニマムビットプール値よりもSBCマックスビットプール値が大きくなかった場合(No)、コマンド設定部44はステップS128の切断処理に進む。
【0137】
〔SCMSケーパビリティ設定処理〕
次に図12は、SCMSケーパビリティ設定処理の手順例を示すフローチャートである。この処理もまた、図5〜図10の処理とは内容が異なっている。
【0138】
ステップS131:ここでは先ず、コマンド設定部44はパラメータ保持テーブル60に保持されている値(リモートデバイスから通知されたパラメータ)を参照する。そして、リモートデバイス(図中に「相手」と表記)の値が「Support SCMS」であることを確認した場合(Yes)、コマンド設定部44はステップS132に進む。
【0139】
ステップS132:この場合、コマンド設定部44はSCMSケーパビリティのパラメータとして「Support SCMS」を設定する。
【0140】
一方、先のステップS131でリモートデバイスの値が「Support SCMS」でなかった場合(No)、コマンド設定部44はステップS133を実行する。
【0141】
ステップS133:この場合、コマンド設定部44はSCMSケーパビリティのパラメータとして「Not support SCMS」を設定する。
【0142】
以上の手順を終えると、コマンド設定部44はこのサブルーチンを終了する(リターン)。なお、このサブルーチンにおいて切断処理が選択されることはない。
【0143】
以上のように、(1)SBCサンプリング周波数、(2)SBCチャンネルモード、(3)SBCブロック長、(4)SBCサブバンド及び(5)SBCアロケーションメソッドについては、ローカルデバイスにおいて設定した優先順位とリモートデバイスから通知された値とを比較し、なるべく上位候補に一致するものを優先的にパラメータとして設定することができる。このため、リモートデバイスでサポートしているパラメータのうち、優先順位の高いものを設定してローカルデバイスから接続要求コマンドを発行することができるので、デバイス相互の接続性が向上するとともに、その後の無線通信を円滑に進行させることができる。
【0144】
〔切断処理〕
図13は、切断処理の内容を示すフローチャートである。ここで示す切断処理は、これまでの図5〜図9、及び図11において選択されたもの全てに共通である。
【0145】
ステップS140:切断処理を選択した場合、コマンド設定部44は接続要求コマンドの設定を行うことなく、AVDTPの切断を選択する。これにより、ローカルデバイスからリモートデバイスに対して切断コマンドが送信されるため、これ以降の接続シーケンス(図3)は中断される。
【0146】
このように、最終的にリモートデバイスでサポートしているパラメータがローカルデバイスで設定したパラメータに全く一致しなかった場合、それ以上の接続シーケンスを終了することで、双方のデバイスに接続関係が成立しないことを明らかにすることができる。この場合、ユーザは今回接続しようとしたリモートデバイスに代えて、他のリモートデバイスを選択するといった措置を早期にとることができる。
【0147】
本発明は、上述した一実施形態に制約されることなく、種々に変形して実施可能である。例えば、本発明の通信モジュールを適用するデバイスは車載ユニット12に限らず、その他のデバイスであってもよいし、また、リモートデバイスは携帯機器14,16,18等に限られるものではない。
【0148】
また、一実施形態で挙げたBTモジュール30の構成はあくまで機能的なブロック要素の例示であり、これらの機能をマイクロコンピュータ(CPU)のリソースで全て賄い、それぞれの機能をアプリケーションで実現してもよい。
【符号の説明】
【0149】
10 通信システム
12 車載ユニット
14,16,18 携帯機器
30 BTモジュール
32 BTアンテナ
33 アンテナマッチング回路
34 RF処理部
36 ベースバンド処理部
38 L2CAP処理部
40 AVDTP処理部
44 コマンド設定部
【特許請求の範囲】
【請求項1】
無線通信機能を有したリモートデバイスとの間にて、所定の通信規約に準拠した無線通信を行うローカルデバイスに搭載される通信モジュールであって、
前記リモートデバイスとの間で前記所定の通信規約に基づく無線通信を行う無線通信部と、
前記所定の通信規約で定められた複数のパラメータを記憶する記憶部と、
前記リモートデバイスに対して前記ローカルデバイスとの接続時に対応しているパラメータを問い合わせした結果、前記リモートデバイスから通知されたパラメータを用いて前記リモートデバイスに対する接続要求を発行する接続処理部と
を備えた通信モジュール。
【請求項2】
請求項1に記載の通信モジュールにおいて、
前記記憶部は、
前記複数のパラメータについて、前記リモートデバイスとの接続時に優先して使用する順位を予め設定した状態で記憶しており、
前記接続処理部は、
前記リモートデバイスに対して問い合わせした結果、前記リモートデバイスから通知されたパラメータが2つ以上ある場合、その中で前記記憶部に記憶された順位が高いパラメータを優先的に用いて前記リモートデバイスに対する接続要求を発行することを特徴とする通信モジュール。
【請求項3】
請求項1又は2に記載の通信モジュールにおいて、
前記記憶部は、
前記パラメータとしてサンプリング周波数、もしくはチャンネルモード、もしくはブロック長、もしくはサブバンド、もしくはアロケーションメソッドの少なくともいずれか1つについて、複数の値を記憶していることを特徴とする通信モジュール。
【請求項4】
請求項3に記載の通信モジュールにおいて、
前記パラメータがいずれもSBC(サブバンドコーデック)を用いるものであることを特徴とする通信モジュール。
【請求項5】
請求項1から4のいずれかに記載の通信モジュールにおいて、
前記無線通信部は、
前記リモートデバイスとの間でAVDTP(オーディオビデオ配信トランスポートプロトコル)に基づく通信を行うことを特徴とする通信モジュール。
【請求項6】
無線通信機能を有したリモートデバイスとローカルデバイスとの間にて、所定の通信規約に準拠した無線通信を行うための通信方法であって、
前記所定の通信規約で定められた複数のパラメータを指定する指定工程と、
前記ローカルデバイスから前記リモートデバイスに対して、前記ローカルデバイスとの接続時に対応しているパラメータを問い合わせする質問工程と、
前記ローカルデバイスにて、前記問い合わせに対する前記リモートデバイスからの応答を通知として受け取る受領工程と、
前記リモートデバイスから通知されたパラメータを用いて前記リモートデバイスに対する接続要求を発行する発行工程と
を有する通信方法。
【請求項7】
請求項6に記載の通信方法において、
前記指定工程では、
前記複数のパラメータについて、前記リモートデバイスとの接続時に優先して使用する順位を予め設定した状態で指定し、
前記発行工程では、
前記受領工程で前記リモートデバイスから通知されたパラメータが2つ以上ある場合、その中から前記指定工程で設定された順位の高いパラメータを優先的に用いて前記リモートデバイスに対する接続要求を発行することを特徴とする通信方法。
【請求項8】
請求項6又は7に記載の通信方法において、
前記指定工程では、
前記パラメータとしてサンプリング周波数、もしくはチャンネルモード、もしくはブロック長、もしくはサブバンド、もしくはアロケーションメソッドの少なくともいずれか1つについて、複数の値を指定することを特徴とする通信方法。
【請求項9】
請求項8に記載の通信方法において、
前記パラメータがいずれもSBC(サブバンドコーデック)を用いるものであることを特徴とする通信方法。
【請求項10】
請求項6から9のいずれかに記載の通信方法において、
前記ローカルデバイスと前記リモートデバイスとの間では、AVDTP(オーディオビデオ配信トランスポートプロトコル)に基づく通信を行うことを特徴とする通信方法。
【請求項1】
無線通信機能を有したリモートデバイスとの間にて、所定の通信規約に準拠した無線通信を行うローカルデバイスに搭載される通信モジュールであって、
前記リモートデバイスとの間で前記所定の通信規約に基づく無線通信を行う無線通信部と、
前記所定の通信規約で定められた複数のパラメータを記憶する記憶部と、
前記リモートデバイスに対して前記ローカルデバイスとの接続時に対応しているパラメータを問い合わせした結果、前記リモートデバイスから通知されたパラメータを用いて前記リモートデバイスに対する接続要求を発行する接続処理部と
を備えた通信モジュール。
【請求項2】
請求項1に記載の通信モジュールにおいて、
前記記憶部は、
前記複数のパラメータについて、前記リモートデバイスとの接続時に優先して使用する順位を予め設定した状態で記憶しており、
前記接続処理部は、
前記リモートデバイスに対して問い合わせした結果、前記リモートデバイスから通知されたパラメータが2つ以上ある場合、その中で前記記憶部に記憶された順位が高いパラメータを優先的に用いて前記リモートデバイスに対する接続要求を発行することを特徴とする通信モジュール。
【請求項3】
請求項1又は2に記載の通信モジュールにおいて、
前記記憶部は、
前記パラメータとしてサンプリング周波数、もしくはチャンネルモード、もしくはブロック長、もしくはサブバンド、もしくはアロケーションメソッドの少なくともいずれか1つについて、複数の値を記憶していることを特徴とする通信モジュール。
【請求項4】
請求項3に記載の通信モジュールにおいて、
前記パラメータがいずれもSBC(サブバンドコーデック)を用いるものであることを特徴とする通信モジュール。
【請求項5】
請求項1から4のいずれかに記載の通信モジュールにおいて、
前記無線通信部は、
前記リモートデバイスとの間でAVDTP(オーディオビデオ配信トランスポートプロトコル)に基づく通信を行うことを特徴とする通信モジュール。
【請求項6】
無線通信機能を有したリモートデバイスとローカルデバイスとの間にて、所定の通信規約に準拠した無線通信を行うための通信方法であって、
前記所定の通信規約で定められた複数のパラメータを指定する指定工程と、
前記ローカルデバイスから前記リモートデバイスに対して、前記ローカルデバイスとの接続時に対応しているパラメータを問い合わせする質問工程と、
前記ローカルデバイスにて、前記問い合わせに対する前記リモートデバイスからの応答を通知として受け取る受領工程と、
前記リモートデバイスから通知されたパラメータを用いて前記リモートデバイスに対する接続要求を発行する発行工程と
を有する通信方法。
【請求項7】
請求項6に記載の通信方法において、
前記指定工程では、
前記複数のパラメータについて、前記リモートデバイスとの接続時に優先して使用する順位を予め設定した状態で指定し、
前記発行工程では、
前記受領工程で前記リモートデバイスから通知されたパラメータが2つ以上ある場合、その中から前記指定工程で設定された順位の高いパラメータを優先的に用いて前記リモートデバイスに対する接続要求を発行することを特徴とする通信方法。
【請求項8】
請求項6又は7に記載の通信方法において、
前記指定工程では、
前記パラメータとしてサンプリング周波数、もしくはチャンネルモード、もしくはブロック長、もしくはサブバンド、もしくはアロケーションメソッドの少なくともいずれか1つについて、複数の値を指定することを特徴とする通信方法。
【請求項9】
請求項8に記載の通信方法において、
前記パラメータがいずれもSBC(サブバンドコーデック)を用いるものであることを特徴とする通信方法。
【請求項10】
請求項6から9のいずれかに記載の通信方法において、
前記ローカルデバイスと前記リモートデバイスとの間では、AVDTP(オーディオビデオ配信トランスポートプロトコル)に基づく通信を行うことを特徴とする通信方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【公開番号】特開2010−206575(P2010−206575A)
【公開日】平成22年9月16日(2010.9.16)
【国際特許分類】
【出願番号】特願2009−50219(P2009−50219)
【出願日】平成21年3月4日(2009.3.4)
【出願人】(000010098)アルプス電気株式会社 (4,263)
【Fターム(参考)】
【公開日】平成22年9月16日(2010.9.16)
【国際特許分類】
【出願日】平成21年3月4日(2009.3.4)
【出願人】(000010098)アルプス電気株式会社 (4,263)
【Fターム(参考)】
[ Back to top ]