(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022160663
(43)【公開日】2022-10-19
(54)【発明の名称】2段階のロールスイッチ
(51)【国際特許分類】
H04R 3/12 20060101AFI20221012BHJP
H04R 1/10 20060101ALI20221012BHJP
【FI】
H04R3/12 A
H04R1/10 104E
【審査請求】有
【請求項の数】15
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2022128177
(22)【出願日】2022-08-10
(62)【分割の表示】P 2020565874の分割
【原出願日】2019-10-23
(31)【優先権主張番号】16/168,474
(32)【優先日】2018-10-23
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
【氏名又は名称原語表記】Google LLC
【住所又は居所原語表記】1600 Amphitheatre Parkway 94043 Mountain View, CA U.S.A.
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】シエン,シジン
(72)【発明者】
【氏名】シエ,グアン
(72)【発明者】
【氏名】クラモト,ジェフリー
(57)【要約】 (修正有)
【課題】マスタおよびスレーブとして動作する第1の装置及び第2の装置のロールスイッチのロールスイッチ中に、オーディオストリーミングを連続的に知覚できるロールスイッチを提供する。
【解決手段】ロールスイッチは、ホストリンクロールスイッチを含む第1段階と、リレーリンクロールスイッチを含む第2段階と、の2段階の手順を有する。ホストリンクロールスイッチは、各音声受信装置とホスト装置との関係に係り、マスタ装置(第1の装置)がホストから音声を直接受信してスレーブ(第2の装置)に中継する。マスタ装置は、マスタ装置とスレーブ装置との間でパケットを送信するなどのタイミングを制御する。2段階の手順の各段階は、約100ms以下かかり、各段階の間に、マスタ装置およびスレーブ装置の音声バッファがリフィルする機会を有する。
【選択図】
図5
【特許請求の範囲】
【請求項1】
マスタとして動作する第1の装置とスレーブとして動作する第2の装置との間のロールスイッチを実行するための方法であって、前記方法は、
前記第1の装置が、ホスト装置からパケットを受信することと、
受信した前記パケットを前記第1の装置から前記第2の装置に送ることと、
前記第1および第2の装置において第1段階ロールスイッチを実行することとを備え、前記第1段階ロールスイッチは、
前記第2の装置と前記ホスト装置との間に通信リンクを確立することと、
前記第2の装置が新たなマスタとして動作していることを前記ホスト装置に通知することとを備え、前記方法はさらに、
前記第2の装置が、前記ホスト装置からパケットを受信することと、
受信した前記パケットを予め設定されたスケジュールに従って前記第2の装置から前記第1の装置に送ることと、
前記第1の装置および前記第2の装置の受信した前記パケットの音声バッファが予め定められたレベルに達すると、前記第1および第2の装置において第2段階ロールスイッチを実行することとを備え、前記第2段階ロールスイッチは、前記第1の装置から前記第2の装置に、新たなマスタとしての前記第2の装置から新たなスレーブとしての前記第1の装置にパケットを送信するタイミングの制御を渡すことを備える、方法。
【請求項2】
前記第1段階ロールスイッチの前に、前記第1の装置および前記第2の装置の各々における中央処理装置(CPU)クロックレートを増加させることと、
前記第2段階ロールスイッチの後に、前記第1および第2の装置における前記CPUクロックレートを低下させることとをさらに備える、請求項1に記載の方法。
【請求項3】
前記CPUクロックレートを増加させることは、前記CPUクロックを最大レート設定に設定することを備える、請求項2に記載の方法。
【請求項4】
前記第1段階ロールスイッチの前に前記第1の装置が、マスタの役割の前記第1の装置がスレーブの役割の前記第2の装置にパケットを送信するポーリングレートを低下させることと、
前記第2段階ロールスイッチの後に、新たなマスタの役割の前記第2の装置が新たなスレーブの役割の前記第1の装置にパケットを送信する前記ポーリングレートを増加させることとをさらに備える、請求項1~3のいずれか1項に記載の方法。
【請求項5】
前記第1段階ロールスイッチの前または最中に前記第1の装置が、前記ホスト装置からパケットを受信し続けながら前記第2の装置にロールスイッチ情報を送信することをさらに備える、前述の請求項のいずれか1項に記載の方法。
【請求項6】
前記予め設定されたスケジュールは、前記第1の装置のコントローラおよび前記第2の装置のコントローラ内にプログラムされる、前述の請求項のいずれか1項に記載の方法。
【請求項7】
前記音声バッファの前記予め定められたレベルは100~250msである、前述の請求項のいずれか1項に記載の方法。
【請求項8】
前記第2段階ロールスイッチはBluetoothロールスイッチである、前述の請求項のいず
れか1項に記載の方法。
【請求項9】
前記第1および第2の装置は音声受信装置であり、特にイヤホンである、前述の請求項のいずれか1項に記載の方法。
【請求項10】
システムであって、
第1の装置と、
前記第1の音声受信装置と無線でペアリングするように適合された第2の装置とを備え、
前記第1の装置および第2の装置は2段階のロールスイッチ動作を実行するように構成され、前記2段階のロールスイッチ動作は、
前記第1の装置が、ホスト装置からパケットを受信することと、
受信した前記パケットを前記第1の装置から前記第2の装置に送ることと、
前記第1および第2の装置において第1段階ロールスイッチを実行することとを備え、前記第1段階ロールスイッチは、
前記第2の装置と前記ホスト装置との間に通信リンクを確立することと、
前記第2の装置が新たなマスタとして動作していることを前記ホスト装置に通知することとを備え、前記2段階のロールスイッチ動作はさらに、
前記第2の装置が、前記ホスト装置からパケットを受信することと、
受信した前記パケットを予め設定されたスケジュールに従って前記第2の装置から前記第1の装置に送ることと、
前記第1の装置および前記第2の装置の受信した前記パケットの音声バッファが予め定められたレベルに達すると、前記第1および第2の装置において第2段階ロールスイッチを実行することとを備え、前記第2段階ロールスイッチは、前記第1の装置から前記第2の装置に、新たなマスタとしての前記第2の装置から新たなスレーブとしての前記第1の装置にパケットを送信するタイミングの制御を渡すことを備える、システム。
【請求項11】
前記第1および第2の装置はさらに、
前記第1段階ロールスイッチの前に、前記第1の装置および前記第2の装置の各々における中央処理装置(CPU)クロックレートを増加させ、
前記第2段階ロールスイッチの後に、前記第1および第2の装置における前記CPUクロックレートを低下させるように構成される、請求項10に記載のシステム。
【請求項12】
前記CPUクロックレートを増加させることは、前記CPUクロックを最大レート設定に設定することを備える、請求項111に記載のシステム。
【請求項13】
前記第1および第2の装置はさらに、
前記第1段階ロールスイッチの前に前記第1の装置が、マスタの役割の前記第1の装置がスレーブの役割の前記第2の装置にパケットを送信するポーリングレートを低下させ、
前記第2段階ロールスイッチの後に、新たなマスタの役割の前記第2の装置が新たなスレーブの役割の前記第1の装置にパケットを送信する前記ポーリングレートを増加させるように構成される、請求項10~12のいずれか1項に記載のシステム。
【請求項14】
前記第1および第2の装置はさらに、
前記第1段階ロールスイッチの前または最中に前記第1の装置が、前記ホスト装置からパケットを受信し続けながら前記第2の装置にロールスイッチ情報を送信するように構成される、請求項10~13のいずれか1項に記載のシステム。
【請求項15】
前記予め設定されたスケジュールは、前記第1の装置のコントローラおよび前記第2の装置のコントローラ内にプログラムされる、請求項10~14のいずれか1項に記載のシステム。
【請求項16】
前記音声バッファの前記予め定められたレベルは100~250msである、請求項10~15のいずれか1項に記載のシステム。
【請求項17】
前記第1および第2の装置は音声受信装置であり、特にイヤホンである、請求項10~16のいずれか1項に記載のシステム。
【請求項18】
前記第1および第2の装置の各々は、
受信した前記音声パケットを一時的に格納するように適合された音声バッファと、
前記音声バッファに一時的に格納されている前記音声パケットを再生するように適合されたスピーカとを備える、請求項10~17のいずれか1項に記載のシステム。
【請求項19】
システムであって、
マスタの役割およびスレーブの役割で動作するように適合された第1の音声受信装置と、
マスタの役割およびスレーブの役割で動作するように適合された第2の音声受信装置とを備え、
前記第1および第2の音声受信装置の各々は、
無線接続を介して音声パケットを受信するように適合された無線通信インターフェースと、
受信した前記音声パケットを一時的に格納するように適合された音声バッファと、
前記音声バッファに一時的に格納されている前記音声パケットを再生するように適合されたスピーカと、
前記無線通信インターフェースと通信するプロセッサとを備え、前記プロセッサは2段階のロールスイッチ動作を実行するように構成され、前記2段階のロールスイッチ動作は、
前記第1の音声受信装置が、ホスト装置からパケットを受信することと、
受信した前記パケットを前記第1の音声受信装置から前記第2の音声受信装置に送ることと、
前記第1および第2の音声受信装置において第1段階ロールスイッチを実行することとを備え、前記第1段階ロールスイッチは、
前記第2の音声受信装置と前記ホスト装置との間に通信リンクを確立することと、
前記第2の音声受信装置が新たなマスタとして動作していることを前記ホスト装置に通知することとを備え、前記2段階のロールスイッチ動作はさらに、
前記第2の音声受信装置が、前記ホスト装置からパケットを受信することと、
受信した前記パケットを予め設定されたスケジュールに従って前記第2の音声受信装置から前記第1の音声受信装置に送ることと、
前記第1の音声受信装置および前記第2の音声受信装置の音声バッファが予め定められたレベルに達すると、前記第1および第2の音声受信装置において第2段階ロールスイッチを実行することとを備え、前記第2段階ロールスイッチは、前記第1の音声受信装置から前記第2の音声受信装置に、新たなマスタとしての前記第2の音声受信装置から新たなスレーブとしての前記第1の音声受信装置にパケットを送信するタイミングの制御を渡すことを備える、システム。
【請求項20】
前記第1および第2の音声受信装置はイヤホンである、請求項19に記載のシステム。
【請求項21】
前記第1および第2の音声受信装置はさらに、
前記第1段階ロールスイッチの前に、前記第1の音声受信装置および前記第2の音声受信装置の各々における中央処理装置(CPU)クロックレートを増加させ、
前記第2段階ロールスイッチの後に、前記第1および第2の音声受信装置における前記CPUクロックレートを低下させるように構成される、請求項19または20に記載のシステム。
【請求項22】
前記第1および第2の音声受信装置はさらに、前記CPUクロックレートを増加させることは、前記CPUクロックを最大レート設定に設定することを備えるように構成される、請求項21に記載のシステム。
【請求項23】
前記第1および第2の音声受信装置はさらに、
前記第1段階ロールスイッチの前に前記第1の音声受信装置が、マスタの役割の前記第1の音声受信装置がスレーブの役割の前記第2の音声受信装置にパケットを送信するポーリングレートを低下させ、
前記第2段階ロールスイッチの後に、新たなマスタの役割の前記第2の音声受信装置が新たなスレーブの役割の前記第1の音声受信装置にパケットを送信する前記ポーリングレートを増加させるように構成される、請求項19~22のいずれか1項に記載のシステム。
【請求項24】
前記第1の音声受信装置はさらに、前記第1段階ロールスイッチの前または最中に、前記ホスト装置からパケットを受信し続けながら前記第2の音声受信装置にロールスイッチ情報を送信するように構成される、請求項19~23のいずれか1項に記載のシステム。
【請求項25】
前記第1および第2の音声受信装置の各々は、前記予め設定されたスケジュールを格納するメモリをさらに備える、請求項19~24のいずれか1項に記載のシステム。
【請求項26】
前記音声バッファの前記予め定められたレベルは100~250msである、請求項19~25のいずれか1項に記載のシステム。
【発明の詳細な説明】
【背景技術】
【0001】
関連出願の相互参照
本願は、2018年10月23日に出願された米国特許出願第16/168,474号の継続出願であり、その開示を本明細書に引用により援用する。
【0002】
背景
フルワイヤレスイヤホンは、互いに無線接続する2つのイヤホンである。一般に、そのようなフルワイヤレスイヤホンは、リレーフォーマット(relay format)またはスニフフォーマット(sniff format)に従う。リレーフォーマットでは、片方のイヤホンがマスタの役割を果たし、もう片方のイヤホンがスレーブの役割を果たす。マスタイヤホンは、たとえば携帯電話または他の音声再生装置などのホストから音声を受信した後、この音声をスレーブイヤホンに中継する。スニフフォーマットでは、片方のイヤホンが主イヤホンであり、もう片方のイヤホンが副イヤホンである。主イヤホンはホストから音声パケットを受信して確認応答するのに対して、副イヤホンは音声を受信する、または「スニフ」するのみであり、パケットを確認応答しない。副イヤホンは、パケットを失うと、主イヤホンにパケットの再送信を要求する。
【0003】
2つのイヤホン間のロールスイッチはイヤホンの役割が変わるときに起こる。たとえば、リレーフォーマットイヤホンの場合、マスタがスレーブになり、スレーブがマスタになる。スニフフォーマットイヤホンの場合、主イヤホンが副イヤホンになり、副イヤホンが主イヤホンになる。ロールスイッチは、たとえば、スレーブイヤホンの方が受信信号強度が良好である場合、マスタイヤホンがスレーブよりも低バッテリで動作している場合、マスタイヤホンがユーザの耳から取外されたりケースに入れられた場合等に起こり得る。
【0004】
リレーフォーマットのワイヤレスイヤホンは一般に、ホスト装置とマスタイヤホンとの間に第1の非同期コネクションレス(asynchronous connection-less:ACL)リンクを有しており、マスタイヤホンはこのACLリンクにおけるBluetooth(登録商標)スレー
ブである。マスタイヤホンとスレーブイヤホンとの間に第2のACLリンクが存在する。この第2のACLにおいて、マスタイヤホンはBluetoothマスタであり、スレーブイヤホ
ンはBluetoothスレーブである。
【0005】
このフォーマットでは、シームレスなロールスイッチを達成することは非常に困難である。たとえば、ロールスイッチの後に新たなマスタイヤホンが音声パケットを受信し続けることができるように、マスタイヤホンとホスト装置との間のACL内のプロファイルのすべてではないにしても大部分をスレーブイヤホンにサイレントに転送する必要がある。さらに、古いマスタイヤホンが新たなスレーブイヤホンになり、古いスレーブイヤホンが新たなマスタイヤホンになるので、Bluetoothロールスイッチも必要である。なぜなら、
マスタイヤホンはBluetooth伝送において効率的であるようにBluetoothマスタでもあるべきであるからである。
【発明の概要】
【課題を解決するための手段】
【0006】
簡単な概要
マスタおよびスレーブとして動作する第1および第2の装置のロールスイッチを「シームレス」にするための解決策が提供される。この解決策は特に、リレーフォーマットのフルワイヤレスイヤホンのロールスイッチを「シームレス」にするのに適用され得る。そのため、ロールスイッチが起こっても音声グリッチは知覚できない。提供される解決策はま
た、スニフモードのフルワイヤレスイヤホンに、したがって、主(ゆえに「マスタ」)装置および副(ゆえに「スレーブ」)装置のロールスイッチに関連して用いられ得る。
【0007】
本開示の一局面は、マスタとして動作する第1の装置とスレーブとして動作する第2の装置との間のロールスイッチを実行するための方法を提供する。上記方法は、第1の装置が、ホスト装置からパケットを受信することと、受信したパケットを第1の装置から第2の装置に送ることと、第1の装置および第2の装置の各々における中央処理装置(CPU)クロックレートを増加させることと、第1段階ロールスイッチを実行することと、第2段階ロールスイッチを実行することとを含む。第1段階ロールスイッチは、第2の装置とホスト装置との間に通信リンクを確立することと、第2の装置が新たなマスタとして動作していることをホスト装置に通知することとを含む。第1段階と第2段階との間に、第2の装置はホスト装置からパケットを受信し、受信したパケットを予め設定されたスケジュールに従って第2の装置から第1の装置に送る。第1の装置および第2の装置の音声バッファが予め定められたレベルに達すると、第1および第2の装置において第2段階ロールスイッチを実行する。第2段階ロールスイッチは、第1の装置から第2の装置に、新たなマスタとしての第2の装置から新たなスレーブとしての第1の装置にパケットを送信するタイミングの制御を渡すことを含む。第2段階が完了すると、第1および第2の装置におけるCPUクロックレートを低下させてもよい。
【0008】
本開示の別の局面は、マスタの役割およびスレーブの役割で動作するように適合された第1の音声受信装置と、マスタの役割およびスレーブの役割で動作するように適合された第2の音声受信装置とを含むシステムを提供する。第1および第2の音声受信装置の各々は、無線接続を介して音声パケットを受信するように適合された無線通信インターフェースと、受信した音声パケットを一時的に格納するように適合された音声バッファと、音声バッファに一時的に格納されている音声パケットを再生するように適合されたスピーカと、無線通信インターフェースと通信するプロセッサとを含む。プロセッサは2段階のロールスイッチ動作を実行するように構成されてもよく、2段階のロールスイッチ動作は、第1の装置が、ホスト装置からパケットを受信することと、受信したパケットを第1の装置から第2の装置に送ることと、第1の装置および第2の装置の各々における中央処理装置(CPU)クロックレートを増加させることと、第1および第2の装置において第1段階ロールスイッチを実行することとを含み、第1段階ロールスイッチは、第2の装置とホスト装置との間に通信リンクを確立することと、第2の装置が新たなマスタとして動作していることをホスト装置に通知することとを含む。プロセッサはさらに、第2の装置が、ホスト装置からパケットを受信し、受信したパケットを予め設定されたスケジュールに従って第2の装置から第1の装置に送り、第1の装置および第2の装置の音声バッファが予め定められたレベルに達すると、第1および第2の装置において第2段階ロールスイッチを実行するように構成されてもよく、第2段階ロールスイッチは、第1の装置から第2の装置に、新たなマスタとしての第2の装置から新たなスレーブとしての第1の装置にパケットを送信するタイミングの制御を渡すことを備え、プロセッサはさらに、第1および第2の装置におけるCPUクロックレートを低下させるように構成されてもよい。
【0009】
本開示のさらに別の局面は、第1の音声受信装置と、第1の音声受信装置と無線でペアリングするように適合された第2の音声受信装置とを含むシステムを提供する。第1の音声受信装置および第2の音声受信装置は2段階のロールスイッチ動作を実行するように構成され、2段階のロールスイッチ動作は、第1の装置が、ホスト装置からパケットを受信することと、受信したパケットを第1の装置から第2の装置に送ることと、第1の装置および第2の装置の各々における中央処理装置(CPU)クロックレートを増加させることと、第1および第2の装置において第1段階ロールスイッチを実行することとを含み、第1段階ロールスイッチは、第2の装置とホスト装置との間に通信リンクを確立することと、第2の装置が新たなマスタとして動作していることをホスト装置に通知することとを含
み、2段階のロールスイッチ動作はさらに、第2の装置が、ホスト装置からパケットを受信することと、受信したパケットを予め設定されたスケジュールに従って第2の装置から第1の装置に送ることと、第1の装置および第2の装置の音声バッファが予め定められたレベルに達すると、第1および第2の装置において第2段階ロールスイッチを実行することとを含み、第2段階ロールスイッチは、第1の装置から第2の装置に、新たなマスタとしての第2の装置から新たなスレーブとしての第1の装置にパケットを送信するタイミングの制御を渡すことを備え、2段階のロールスイッチ動作はさらに、第1および第2の装置におけるCPUクロックレートを低下させることを含む。
【図面の簡単な説明】
【0010】
【
図1】本開示の局面に係る例示的なシステムを示すブロック図である。
【
図3A】本開示の局面に係るロールスイッチを示すブロック図である。
【
図3B】本開示の局面に係るロールスイッチを示すブロック図である。
【
図3C】本開示の局面に係るロールスイッチを示すブロック図である。
【
図3D】本開示の局面に係るロールスイッチを示すブロック図である。
【
図3E】本開示の局面に係るロールスイッチを示すブロック図である。
【
図3F】本開示の局面に係るロールスイッチを示すブロック図である。
【
図4】本開示の局面に係る例示的なシステムを示す機能ブロック図である。
【
図5】本開示の局面に係る例示的な方法を示すタイミング図である。
【
図6】本開示の局面に係る例示的な方法を示すフロー図である。
【発明を実施するための形態】
【0011】
詳細な説明
本開示は、ロールスイッチ中にオーディオストリーミングを連続的に知覚できるロールスイッチを提供する。ロールスイッチは2段階で起こり、第1段階はホストリンクロールスイッチを含み、第2段階はリレーリンクロールスイッチを含む。たとえば、ホストリンクロールスイッチは各音声受信装置とホスト装置との関係に関し、マスタ装置はホストから音声を直接受信してスレーブに中継する。リレーリンクロールスイッチは音声受信装置間の関係に関する。たとえば、通信マスタは、マスタ装置とスレーブ装置との間でパケットを送信するなどのタイミングを制御する。2段階の手順の各段階は、約100ms、またはそれ以上もしくはそれ以下かかり得る。各段階の間に、マスタ装置およびスレーブ装置の音声バッファはリフィルする機会がある。この手順は本明細書では主にイヤホンに関して説明するが、この手順はマスタおよびスレーブの役割を有するその他の無線でペアリングされる装置にも適用され得ることを理解すべきである。
【0012】
マスタの役割の第1の装置は、携帯電話などのホスト装置から、第1の装置とホストとの間の非同期コミュニケーションレス(asynchronous communication less:ACL)リ
ンクなどの通信リンク上で音声を受信する。第1の装置はこの音声をスレーブの役割の第2の装置に中継する。第1および第2の装置は、マスタが干渉を被っているのに対してスレーブがホストとの良好な信号強度を有しているなどのいくつかの場合に、マスタ/スレーブのロールをスイッチしてもよい。ロールスイッチの前に、第1および第2の装置の両方がそれらの内部クロックレートを増加させる。たとえば、第1および第2の装置はそれらの中央処理装置(CPU)クロックレートを最大設定に設定してもよい。さらに、これらの装置は、マスタの役割の第1の装置がスレーブの役割の第2の装置にパケットを送信することを試みるポーリングレートを低下させてもよい。たとえば、これらの装置はこのレートを約2.5msに低下させてもよい。
【0013】
マスタの役割の第1の装置は、Bluetoothプロファイルなどのロールスイッチ情報を第
2の装置に送信し始める。このプロセスの間、第1の装置はホスト装置から音声を受信し
てこの音声を第2の装置に中継し続ける。第2の装置はその通常動作を継続する。
【0014】
第1および第2の装置はホストリンクロールスイッチを開始する。ホストリンクロールスイッチは、Bluetoothコントローラなどのこれらの装置の通信コントローラにおいて開
始してもよい。第1の装置は、そのコントローラからバッファをポーリングして、スレーブの役割の第2の装置に音声バッファを中継してもよい。第1の装置は、フロービットをオフにすること、コントローラにおいてアクセスアドレスを変更すること、またはパケットが第1の装置によって受信されないという結果を達成するための多数のその他のタスクのうちのいずれかを実行することなどによって、ホストからの音声パケットの受信を停止してもよい。ホストリンクロールスイッチはコントローラにおいて完了する。たとえば、第2の装置は、第1の装置とホストとの間の通信リンクを引継いでもよく、第2の装置が新たなマスタであることをホストに通知してもよい。いくつかの例では、第1の装置は、第2の装置が通信リンクの確立に成功したという確認を第2の装置から受信してもよく、第1の装置は、第1の装置が新たなスレーブであることをホストに通知してもよい。第1および第2の装置は、それぞれ新たなスレーブおよび新たなマスタとして、それらの内部のBluetoothホストプロファイルを再現する。たとえば、これらの装置は、それらの内部
のBluetoothプロファイルおよび状態のメモリを再構築することができる。
【0015】
ホストリンクロールスイッチの後、新たなホストリンクマスタとして機能する第2の装置はホスト装置および第1の装置に対してBluetoothスレーブのままである。ホスト装置
は、新たなマスタの役割の第2の装置に音声パケットを送信する。第2の装置は第1の装置に対してリレーリンクスレーブのままであるので、特別なスケジューリングがBluetoothコントローラにおいて設定され、受信した音声パケットを第2の装置から第1の装置に
中継するために用いられてもよい。たとえば、特別なスケジューリングは、パケットの受信をいつ予期すべきかの指示を第1の装置に与えてもよい。特別なスケジューリングを用いたそのようなパケットの中継は、第1および第2の装置の音声バッファが予め定められたレベルに達するまで継続してもよい。たとえば、それは、音声バッファが約150ms~250msまたはそれ以上の「正常」範囲に達するまで継続してもよい。
【0016】
音声バッファが予め定められたレベルに達すると、第1および第2の装置はリレーリンクロールスイッチをトリガする。したがって、新たなホストリンクマスタの役割を果たす第2の装置は新たなリレーリンクマスタにもなり、第1の装置と第2の装置との間のパケット送信のタイミングを制御する。新たな装置スレーブとして機能する第1の装置は新たなリレーリンクスレーブにもなる。CPUクロックレートおよびポーリング時間は、2段階のロールスイッチ手順のために変更される前に、それらの前の値に戻されてもよい。
【0017】
このように2段階のロールスイッチを実行することで、リレー解決策のためのシームレスなロールスイッチが提供される。これは、スレーブイヤホンの接続性がマスタイヤホンの接続性よりも良好である状況などにおいて、音声品質を改善するのに役立つ。また、バッテリ寿命の向上にも役立つ。たとえば、マスタイヤホンはスレーブイヤホンよりも多くの電力を消費し得る。したがって、ロールをスイッチすることにより、これらの装置が負担を移して両装置の使用時間を延ばすことができる。さらなる例では、ロールスイッチは、片方のイヤホンがユーザの耳から取外された場合、またはケースに入れられた場合等、片方のイヤホンがなくなると実行され得る。ロールスイッチはシームレスであるため、これらの利点を音声品質に目立った影響を与えることなく達成することにより、改善されたユーザ体験を提供することができる。
【0018】
図1は、マスタアクセサリ装置110に通信するように結合されたホスト装置105を含む例示的なシステム100を示す。マスタアクセサリ装置110は、イヤホン、ワイヤレススピーカ等の1対のアクセサリ装置の片方であってもよい。そのため、マスタ装置1
10はさらにスレーブアクセサリ装置120に通信するように結合される。1つのスレーブ装置120のみが
図1に示されているが、複数のスレーブ装置がマスタ装置110に通信するように結合されてもよいことを理解すべきである。
【0019】
装置105、110、120の間の接続は、たとえば、Bluetoothなどの近距離無線ペ
アリングであってもよい。たとえば、ホスト装置105は、第1のACLリンクなどのホスト通信リンク152を介してマスタ装置110に結合されてもよい。マスタ装置110は、第2のACLリンクなどのリレー通信リンク154を介してスレーブ装置120に結合されてもよい。
【0020】
図2は
図1のシステムの例を示しており、ホスト装置は携帯電話205であり、マスタアクセサリは第1のイヤホン210であり、スレーブアクセサリは第2のイヤホン220である。ホスト通信リンク252が電話205と第1のイヤホン210との間に存在し、リレー通信リンク254が第1のイヤホン210と第2のイヤホン220との間に存在する。
【0021】
この例のホスト装置は携帯電話として示されているが、ホスト装置は音声信号を送信するように適合されたさまざまな種類の装置のうちのいずれかであってもよいことを理解すべきである。たとえば、ホスト装置は、タブレット、スマートウォッチ、ゲーム機、音楽プレーヤ、ラップトップ、携帯情報端末装置、またはその他のコンピューティングデバイスであってもよい。同様に、第1および第2のアクセサリは、ここではイヤホン210、220として示されているが、他の例ではスピーカまたは他の音声装置、映像出力ディスプレイ等のいずれかの組合わせであってもよい。第1および第2のアクセサリは、製造時にペアリングされてもよいし、別個に販売されて後でユーザによってペアリングされてもよい。
【0022】
場合によっては、第1および第2のアクセサリがロールをスイッチすることが望ましい場合がある。たとえば、マスタの役割を果たすイヤホンは、ホストとスレーブの役割の装置との間の可能な接続と比較して、ホストとの品質信号強度接続が低い場合がある。そのような状況の例を
図2に示す。第1のイヤホン210は、ホスト装置105がユーザの身体の反対側に保持されているため、ホスト装置105に対して身体交差干渉を受ける。対照的に、第2のイヤホン220はユーザの身体のホスト装置105と同じ側にある。したがって、第2のイヤホン220が受ける身体交差干渉は第1のイヤホン210よりも小さい。
【0023】
マスタ/スレーブのロールをスイッチすることが望ましい場合がある別の例は、第1および第2の装置のバッテリレベルに関連する。マスタの役割を果たす装置は、スレーブの役割を果たす装置よりも多くの電力を消費し得る。したがって、たとえばマスタ装置のバッテリが予め定められたレベルまで消耗すると、スレーブ装置とロールをスイッチすることが望ましい場合がある。
【0024】
ロールをスイッチするために、2段階の手順が用いられ得る。たとえば、第1段階では、新たなホストリンクマスタがホストとの通信リンクを確立するように、ホスト装置に対するロールスイッチが起こり得る。第2段階では、新たなリレーリンクマスタが再生装置間のリレーリンク上でパケットを送信するタイミングを制御するように、再生装置に対するロールスイッチが起こり得る。この2段階の手順では、音声送信および再生におけるギャップはすべて、ユーザによって知覚されないほど十分短くすることができる。たとえば、2段階の手順の各段階は、いずれのギャップも約100ms以下であるように、約100ms以内に完了し得る。
【0025】
図3A~
図3Fは2段階のロールスイッチ手順の例を示す。これらの図はロールスイッチ手順のいくつかの動作を示しているが、さらなる動作が実行されてもよいことを理解すべきである。
【0026】
図3Aにおいて、第1および第2の装置110、120は、それらの内部CPUクロック131、141のレートをそれぞれ増加させる。たとえば、第1および第2の装置110、120はクロックレートを最大可能レートに増加させてもよい。クロックレートは、サポートしているチップセットに基づいて異なり得る。CPUクロックレートを増加させることによって、CPU速度によって制限される動作が、CPUクロックレートの増加に比例して高速化される。たとえば、マスタ装置上のプロファイル状態の保存、またはスレーブ装置上のプロファイルの復元などの動作は、未調整のCPUクロックレートよりも、増加したCPUクロックレートの方が迅速に実行され得る。
【0027】
第1および第2の装置110、120はまた、ポーリング時間132、142を短縮してもよい。たとえば、これらの装置は、マスタ装置110がスレーブ装置120にパケットを送信するtPoll時間を短縮してもよい。このようにポーリング時間を調整することによって、Bluetoothパケットは第2の装置から第1の装置により高速に送信される。BluetoothスレーブからBluetoothマスタにパケットが送信される時はいつでも、デフォル
トで約25msなどのtPollの値までのランダムな遅延がある。tPoll時間を短縮することにより、ロールスイッチの第2段階の時間を大幅に減らすことができる。たとえば、第2段階ロールスイッチの間、第1および第2の装置はスイッチ時間をネゴシエートし、スイッチ時間が経過する前に両方がその時間に合意すべきである。tPollを変更することにより、スイッチ時間をより早い時間に設定することができる。
【0028】
図3Bにおいて、第1の装置110は第2の装置120にロールスイッチ情報を送信し始める。そのような情報は、たとえば、Bluetoothプロファイルなどの無線通信プロトコ
ルプロファイル112を含んでもよい。そのようなプロファイルの例として、オーディオ/ビデオリモートコントロールプロファイル(AVRCP)、ハンズフリープロファイル(HFP)、アドバンストオーディオ配信プロファイル(A2DP)、属性プロファイル(ATT)、デバイスIDプロファイル(DIP)、近接プロファイル(PXP)、同期プロファイル(SYNCH)、無線周波数通信(RFCOMM)、またはBluetoothロー
エナジー(BLE)などが挙げられる。プロファイル112は、マスタ装置110がどのように動作するかを命令してもよい。たとえば、プロファイルは、他のフォーマットへの依存性、提案されるユーザインターフェースフォーマット、プロファイルが使用するプロトコルスタックの部分等に関連する情報を含んでもよい。いくつかの例では、プロファイルは、マスタ装置110がホスト装置105とどのように通信するかを決定してもよい。単なる例として、プロファイルのうちの1つ以上は、非同期コミュニケーションレス(ACL)リンクなどの通信リンク152を用いてもよい。他の例では、プロファイルは、どのように音声がホスト装置105からマスタ装置110に、および/またはマスタ装置110からスレーブ装置120にストリームされるかを規定してもよい。スレーブ装置120は、無線プロファイル122などの受信したロールスイッチ情報を格納する。ロールスイッチ情報の他の例として、たとえば、周波数ホッピングシーケンス、汎用接続パラメータ、装置識別子などのACL接続情報が挙げられ得る。さらなる例として、ログ、アップタイム等の、接続とは無関係の装置状態が挙げられる。
【0029】
ロールスイッチ情報を送信するプロセスの間、第1の装置110は、通常動作時と同様に、ホスト装置105から音声パケットを受信して当該音声パケットを第2の装置120に中継し続けてもよい。したがって、第1の装置110は、受信した音声パケットを音声バッファ114に一時的に格納してもよい。第2の装置120も、受信した音声パケットを音声バッファ124に格納してもよい。
【0030】
図3Cにおいて、第1および第2の装置110、120はロールスイッチの第1段階を実行する。この第1段階では、第2の装置120はホスト装置105へのリンクを確立してホストリンクマスタになる。したがって、第2の装置120はホスト105からパケットを受信して第1の装置110に中継する。しかしながら、
図3Dに関連してさらに述べるように、第2の装置120は第1の装置110に対してリレーリンクスレーブのままである。
【0031】
第1および第2の装置110、120は、それらのBluetoothコントローラなどの各自
の通信コントローラにおいて第1段階ロールスイッチを開始してもよい。たとえば、マスタの役割の第1の装置110は、そのコントローラからすべてのバッファをポーリングし、その音声バッファ114を第2の装置120に中継してもよい。たとえば、第1の装置110によって最近受信されてバッファ114に格納されている任意の音声パケットが、第2の装置120に送信されてスレーブバッファ124に格納されてもよい。この点に関して、第2の装置120は同一のバッファ内容を有しており、マスタの役割にスイッチすると遅延なしに音声の再生を開始することができる。この例では音声バッファ内の音声パケットのみが示されているが、映像または画像バッファなどの他の種類のバッファも同期されてもよいことを理解すべきである。
【0032】
そして第1の装置110はホスト装置105からの音声パケットの受信を停止してもよい。これはさまざまな方法で行なうことができる。単なる例として、第1の装置110はフロービットをオフにしてもよいし、その通信コントローラにおいてアクセスアドレスを変更するなどしてもよい。
【0033】
そして第1および第2の装置110、120は第1段階ロールスイッチを終了してもよい。第2の装置120は、ホスト装置105との新たな通信リンク156を確立し、第2の装置120がホスト105からパケットを直接受信すべき新たなマスタであることをホスト装置105に通知してもよい。いくつかの例によれば、第1および第2の装置110、120は、Bluetoothコントローラ層などの通信コントローラ層において第1段階ロー
ルスイッチを終了してもよい。たとえば、各装置110、120は、その通信コントローラにコマンドを送信して第1段階ロールスイッチを開始してもよい。第1の装置110は、そのリンクマネージャプロトコル(LMP)状態を、LMPソケットを受信する第2の装置120に送信してもよい。第2の装置120は、新たなACLリンクを開始してホスト装置105と同期してもよい。ACLリンクの確立が成功すると、第2の装置120は第1の装置110に成功LMPパケットを送信し、第2の装置120が新たなマスタであることをホスト装置105に通知してもよい。第1の装置110も、LMP成功パケットを受信すると、第1の装置110が新たなスレーブであることをホスト105に通知してもよい。
【0034】
第1および第2の装置110、120は、それぞれ新たなスレーブの役割およびマスタの役割において、それらの内部のBluetoothホストプロファイルを再現する。これは非常
に迅速に行なわれ得る。第1および第2の装置110、120は、それらの内部のBluetoothプロファイルおよび状態のメモリを再構築してもよい。たとえば、新たなマスタとし
ての第2の装置120は、前のマスタであった第1の装置110から構造体を受信してもよい。第2の装置120はこの構造体を用いて、アプリケーション側でそのBluetoothプ
ロファイルを再現してもよい。第1の装置110も同様に、新たなスレーブとして、第2の装置120から構造体を受信し、この構造体を用いてそのBluetoothプロファイルを再
現してもよい。これは一例であるが、内部のBluetoothプロファイルを再現する他の方法
を用いてもよいことを理解すべきである。
【0035】
第1段階ロールスイッチの間、音声の再生は継続する。したがって、第1および第2の装置はホストからパケットを受信していないので、第1および第2の装置の音声バッファは排出される。再生中に知覚可能なグリッチを防止するために、第1段階ロールスイッチは音声バッファのサイズ未満の時間内に完了すべきである。
【0036】
第1段階ロールスイッチを完了すると、第2の装置120はホスト装置105との通信リンク156をすでにセットアップしており、ホスト装置105に対してスレーブとして機能している。第2の装置120は、送信にキャッチアップしようとしているホスト装置105から音声パケットを受信する。たとえば、音声は一時停止されず、ホストはロールスイッチが起ころうとしていることを必ずしも通知されるとは限らないため、ホスト装置はバッファリングしてパケットの送信を試み続ける。この点に関して、送信は、第1段階ロールスイッチが起こった期間にわたってキャッチアップする。
【0037】
第2の装置120は、装置ロールスイッチを完了して装置マスタになるが、第1の装置110に対してリレーリンクスレーブのままである。たとえば、第2の装置120はホスト装置とのリンクを引継ぐが、第2の装置120は第1の装置110とのリンク154上でスレーブのままである。この例では、第1の装置110は、パケットを送信するタイミングの制御においてBluetoothマスタのままであってもよい。そのため、第2の装置12
0が第1の装置にパケットを中継すると効率が低下する可能性がある。そのような非効率性を補償するために、特別なスケジューリングをパケットリレーに用いてもよい。
【0038】
図3Dに示されるように、第1の装置110および第2の装置120の各々は、第1段階ロールスイッチは完了しているが第2段階ロールスイッチは完了していない状態でパケットを送受信するための特別なタイミングスケジュール116、126をそれぞれ格納している。タイミングスケジュール116、126は、たとえば、各装置110、120のBluetoothコントローラ内にプログラムされてもよい。タイミングスケジュール116、
126は製造時に予め設定されてもよく、および/またはホスト装置105を通じて提供されるソフトウェアもしくはファームウェア更新によって更新されてもよい。タイミングスケジュール116、126は、第2の装置120がパケットを送信すべき時、および第1の装置110がそれらの受信を予期すべき時を指示することによって、第1および第2の装置110、120間の結束性を提供してもよい。例として、タイミングスケジュール116、126は、新たなマスタの役割の第2の装置120が2msごとにパケットを送信するべきであること、および新たなスレーブの役割の第1の装置110が2msごとにパケットをリッスンすべきであることを指示してもよい。これは例にすぎず、任意のタイミングスキームが可能であることを理解すべきである。
【0039】
第2の装置120は、第1および第2の装置における音声バッファ114、124が正常範囲にキャッチアップするまで、特別なタイミングスケジュール116、126に従ってホスト装置105から第1の装置110にパケットを中継し続けてもよい。この時点の前に、オーディオ再生が第1段階ロールスイッチ中に起こり続けていたためにバッファは排出されている。たとえば、第1および第2の装置の音声バッファ114、124は、約150ms~250msまたはそれ以上もしくはそれ以下の再生用音声を格納する範囲に入ってもよい。この時点で、第1および第2の装置110、120はロールスイッチの第2段階をトリガしてもよい。
【0040】
図3Eはロールスイッチの第2段階を示しており、第2の装置120は第1の装置110と第2の装置120との間の通信リンク154上でマスタになる。たとえば、第2の装置120が第1の装置110にクロックオフセットを送信し、スイッチを実行する時間がスケジュールされ、スイッチが起こる。この段階の間、第2の装置120は、第1の装置110と第2の装置120との間の送信のタイミングの制御128を行なう。音声バッフ
ァが正常範囲に達したため、第2段階ロールスイッチ中に音声グリッチは聞こえないはずである。
【0041】
図3Fにおいて、第1および第2の装置110、120はそれらの内部タイミングを前の設定に戻す。たとえば、前に増加させたCPUクロックレート131、141を調整前のレベルに戻す。さらに、前に低下させたポーリングレート132、142をそれらの調整前のレベルに戻す。いくつかの例では、調整前のレベルは、装置がロールスイッチを受けていない時のデフォルトレベルまたは通常動作レベルであってもよい。
【0042】
図4は、第1の装置110および第2の装置120の内部コンポーネントの例を示す。多数の内部コンポーネントが示されているが、より多いまたはより少ないコンポーネントが含まれてもよいことを理解すべきである。単なる例として、装置は、スピーカ、マイクロフォン等の、再生装置内に典型的に見られるコンポーネントを含んでもよい。装置は、たとえば、イヤホン、スピーカ、ディスプレイ等のワイヤレスアクセサリであってもよい。装置は、主に第1の装置110に関して以下に説明する。第2の装置120は、ある例では第1の装置110と同様または同一であってもよく、他の例では第2の装置120は異なる種類の装置であってもよい。これに加えて、またはこれに代えて、第2の装置120は異なる内部コンポーネントを有してもよい。
【0043】
第1の装置110は、1つ以上のプロセッサ416、1つ以上のメモリ412、および他のコンポーネントを含んでもよい。たとえば、コンピューティングデバイス110は、1つ以上のセンサ418、無線ペアリングインターフェース419、およびバッテリ417を含んでもよい。
【0044】
メモリ412は、1つ以上のプロセッサ416によって実行またはそうでなければ使用され得るデータ414命令415を含む、1つ以上のプロセッサ416がアクセス可能な情報を格納してもよい。たとえば、メモリ412は、コンピューティングデバイス可読媒体、または、揮発性メモリ、不揮発性メモリ、ならびに他の書込み可能メモリおよび読出し専用メモリなど、電子装置を用いて読出され得るデータを格納する他の媒体を含む、プロセッサがアクセス可能な情報を格納可能ないずれの種類であってもよい。単なる例として、メモリ412は高速ルックアップを提供するように構成されたスタティックランダムアクセスメモリ(SRAM)であってもよい。システムおよび方法は上記の異なる組合わせを含んでもよく、それによって、命令およびデータの異なる部分は異なる種類の媒体に格納される。
【0045】
データ414は、命令415に従って1つ以上のプロセッサ416によって取出されてもよいし、格納されてもよいし、修正されてもよい。たとえば、データ414は、Bluetoothプロファイルなどの近距離無線通信プロファイルを含んでもよい。データ414はさ
らに、ホスト装置から受信したパケットを有する音声バッファなどの、バッファリングされたパケットを含んでもよい。特許請求の範囲に記載の主題はいずれの特定のデータ構造によっても限定されないが、データは、複数の異なるフィールドおよびレコード、XML文書またはフラットファイルを有するテーブルとしてリレーショナルデータベース内のコンピューティングデバイスレジスタに格納されてもよい。データはまた、任意のコンピューティングデバイス可読フォーマットでフォーマットされてもよい。
【0046】
命令415は、1つ以上のプロセッサ416によって直接的に(機械コードなど)または間接的に(スクリプトなど)実行される任意の一組の命令であってもよい。たとえば、命令は、コンピューティングデバイス可読媒体上にコンピューティングデバイスコードとして格納されてもよい。その点に関して、「命令」および「プログラム」という用語は本明細書では同じ意味で用いられ得る。命令は、プロセッサによる直接処理のためのオブジ
ェクトコードフォーマットで、または、要求に応じて解釈されるかもしくは予めコンパイルされる独立したソースコードモジュールのスクリプトもしくは集合を含むその他のコンピューティングデバイス言語で格納されてもよい。命令の機能、方法およびルーチンを以下により詳細に説明する。
【0047】
1つ以上のプロセッサ416は、装置110自体内にハードワイヤードされたマイクロプロセッサ、論理回路(たとえば、論理ゲート、フリップフロップ等)であってもよいし、専用の特定用途向け集積回路(ASIC)であってもよい。1つ以上のプロセッサ416はハードワイヤード論理回路に限定されず、任意の市販の処理ユニット、またはフィールドプログラマブルゲートアレイ(FPGA)などの任意のハードウェアベースのプロセッサも含んでもよいことを理解すべきである。いくつかの例では、1つ以上のプロセッサ416は状態機械を含んでもよい。プロセッサ416は命令415を実行して、たとえば
図5~
図6に関連して以下に説明するような方法を実行するように構成されてもよい。
【0048】
プロセッサ416は、第1の装置110の動作のタイミングを制御する内部クロックを含んでもよい。たとえば、このクロックは、マスタ装置上のプロファイル状態の保存、またはスレーブ装置上のプロファイルの復元などの動作のタイミングを制御してもよい。
【0049】
1つ以上のセンサ418は、ロールスイッチに関連する条件を検出するためのさまざまな機械センサまたは電気機械センサのうちのいずれかを含んでもよい。そのようなセンサは、たとえば、加速度計、ジャイロスコープ、スイッチ、光センサ、気圧計、音声センサ(たとえば、マイクロフォン)、振動センサ、熱センサ、無線周波数(RF)センサ等を含んでもよい。この点に関して、装置110は、装置110がそのペアリングされた装置とロールをスイッチすべきであることを示す条件を検出してもよい。一例として、センサは受信信号強度を検出してもよく、その受信信号強度をペアリングされた装置の受信信号強度と比較してもよい。装置110およびそのペアリングされた装置はしたがって、ロールをスイッチするか否かをネゴシエートしてもよい。別の例として、センサは、バッテリ寿命、信号品質、移動、電流バッファレベル等、その他のパラメータを検出してもよい。
【0050】
近距離無線ペアリングインタフェース419を用いて、ペアリングされた第2の装置120などの他の装置、または音声パケットを提供する携帯電話などのホスト装置との接続を形成してもよい。この接続は、たとえば、Bluetooth接続またはその他の種類の無線ペ
アリングであってもよい。単なる例として、各接続はACLリンクを含んでもよい。
【0051】
図4は、プロセッサ、メモリ、および装置110の他の要素を同一のブロック内にあるものとして機能的に示しているが、プロセッサおよびメモリは実際には同一の物理的ハウジング内に格納されてもされなくてもよい複数のプロセッサおよびメモリを含んでもよいことが当業者によって理解されるであろう。たとえば、メモリ412は、コンピューティングデバイス110の筐体とは異なる筐体内に位置する揮発性メモリまたは他の種類のメモリであってもよい。さらに、上述のさまざまなコンポーネントは1つ以上の電子装置の一部であってもよい。
【0052】
この例では、第2の装置120は装置110と同様の内部アーキテクチャを有する。たとえば、第2の装置120は、1つ以上のプロセッサ426によって実行され得るデータ424および命令425を格納するメモリ422を含む。第2の装置120はさらに、バッテリ427、センサ428、Bluetoothインターフェースなどの通信インターフェース
429等を含む。第2の装置120は第1の装置110の命令41とは異なる1組の命令425を実行するものとして示されているが、両装置110、120はマスタからスレーブへの、およびスレーブからマスタへのロールスイッチを実行するようにプログラムされてもよいことを理解すべきである。
【0053】
上述のように、命令415および425が実行されて第1の装置110と第2の装置120との間の2段階のロールスイッチ動作が行なわれてもよい。両装置は、それらの内部CPUクロックレートを増加させる。第1の装置110は第2の装置120にロールスイッチ情報を送信する。たとえば、第1の装置110は、その無線通信プロファイルおよびそのバッファ内容を第2の装置120に送信してもよい。第1の装置110はホストからのパケットの受信を停止し、第2の装置120はホストとの通信リンクを確立する。第2の装置120は、第2の装置120が新たなマスタであることをホストに通知してパケットの受信を開始し、第2の装置120は当該パケットを特別なタイミングスケジュールに従って第1の装置110に送信する。予め定められたバッファレベルに達すると、装置は第2段階ロールスイッチを実行してもよく、装置間の接続を介して第1の装置110がスレーブになり第2の装置120がマスタになる。そして装置はそれらのクロックレートを前の設定に戻す。
【0054】
図5は、2段階のロールスイッチの前、最中、および後の装置間の通信を示す例示的なタイミング図を提供する。ホスト装置は、最初にマスタの役割を果たす第1の装置110に第1の近距離無線接続を介してパケットを送信する。第1および第2の装置は無線でペアリングされ、第1の装置110は、第1の装置110と第2の装置120との間の第2の近距離無線接続を介して受信パケットを中継する。これは装置の通常動作またはデフォルト動作であってもよい。図示されるタイミングは例にすぎず、他の例では動作は重複してもよいし異なるシーケンスで起こってもよいことを理解すべきである。
【0055】
ロールスイッチを実行する場合、第1および第2の装置はそれらの内部CPUクロックを高速化し、第1の装置は第2の装置にロールスイッチ情報を送信する。そのようなロールスイッチ情報は、無線通信プロファイル、バッファ内容等を含んでもよい。第1の装置110は通常時と同様に、そのようなロールスイッチ情報を送信しながら、ホスト装置105からパケットを受信し続けてもよい。
【0056】
ロールスイッチ情報を送信した後、装置はロールスイッチの第1段階を実行してもよい。この段階では、第1の装置がパケットの受信を停止する。ホスト105と第1の装置110との間の通信リンクが切断され、第2の装置120がホスト105との新たな通信リンクを確立する。第2の装置120はこの新たな通信リンクを用いて、第2の装置120が新たなマスタであることをホスト105に通知してもよい。
【0057】
第2の装置120はしたがって、ホスト105からパケットを直接受信し始めてもよい。第1段階ロールスイッチの後、第2の装置は、ホスト105からのパケットをリッスンし、かつ第1の装置110からのパケットをリッスンするように構成され続けるという点で、ホストおよび第1の装置の両方に対してBluetoothスレーブである。これを克服する
ために、第2の装置120は、ホスト105から受信したパケットを特別なスケジュールに従って第1の装置110に中継する。そのような特別なスケジュールは、第1および第2の装置110、120の各々の通信コントローラに格納されてもよい。
【0058】
第1および第2の装置110、120は、受信した音声パケットをバッファリングし続ける。バッファが予め定められたレベルに達すると、第2段階ロールスイッチが実行されてもよい。予め定められたレベルは、たとえば、100msの再生用のデータ、300msの再生用のデータ等、再生用のデータ量であってもよい。他の例では、データの量はビットまたはその他の単位で測定されてもよい。
【0059】
第2段階ロールスイッチの間、第2の装置は、第1の装置と第2の装置との間の通信リンク上でBluetoothマスタになる。そのため、第2の装置110は第1の装置110から
タイミング制御を引継ぐ。第2段階ロールスイッチが完了すると、装置はそれらのCPUクロックをそれらのロールスイッチ前の設定に戻す。
【0060】
図6は、第1のワイヤレスアクセサリと第2のワイヤレスアクセサリとの間の2段階のロールスイッチの例示的な方法600を示すフロー図である。動作は特定の順序で図示および説明するが、順序は変更されてもよく、動作は追加または省略されてもよいことを理解すべきである。
【0061】
ブロック605において、第1のアクセサリは第1の通信リンク上でホスト装置から情報を受信する。たとえば、第1のアクセサリは第1のACLリンク上でホスト装置から音声パケットを受信してもよい。第1のアクセサリは、マスタとして機能しており、受信した情報を第2のACLリンクの第2のアクセサリに中継する(ブロック610)。ブロック605および610は、ブロック615においてロールスイッチが必要であるまたは有益であると判定されるまで繰返されてもよい。
【0062】
ロールスイッチを実行する場合、第1および第2のアクセサリはブロック620においてそれらの内部CPUクロックを高速化する。アクセサリはさらに、それらのポーリングレートを低下させてもよい。
【0063】
ブロック625において、第1のアクセサリは第2のアクセサリにロールスイッチ情報を送信する。そのようなロールスイッチ情報は、Bluetoothプロファイル、バッファ内容
、または第2のアクセサリがマスタとして機能してホスト装置からパケットを直接受信するために必要とし得るその他の情報を含んでもよい。第2のアクセサリはそのような情報を用いて、たとえば、そのBluetoothプロファイルの再構築、そのバッファの更新等を行
なう。
【0064】
ブロック630において、第1のアクセサリはパケットの受信を停止し、第2のアクセサリはホストとのリンクを確立する。たとえば、第1のアクセサリは第1のACLリンクを放棄してもよく、第2のアクセサリはホストとの新たなACLリンクを確立してもよい。そして第2のアクセサリはブロック635において、ホストからパケットを直接受信してそのようなパケットを第1のアクセサリに中継し始めてもよい。この時点では第2の装置はロールスイッチの第1段階しか完了していないので、第2の装置は第2のACLリンク上で第1の装置に対してBluetoothスレーブのままである。たとえば、第1のアクセサ
リは第2のACLリンク上のBluetooth送信のタイミングを管理し続けているため、第2
の装置はいつリレーパケットを送信すべきかが分からない。したがって、第1および第2の装置は、リレーパケットを送受信するための予め定められたスケジュールを用いる。
【0065】
第2の装置は、ブロック640においてバッファ閾値に達するまで、パケットを受信して当該パケットをスケジュールに従って第1の装置に中継し続けてもよい。たとえば、閾値は、予め定められた再生用のデータ量であってもよい。そのような量は、再生が知覚できるほど遅延されないように設定され得る。バッファが閾値に達すると、装置は第2段階ロールスイッチを実行し、第2のアクセサリは第2のACLリンク上でタイミング制御を引継ぐ(ブロック645)。第1および第2のアクセサリはしたがって、ロールスイッチ全体を完了すると、それらの前のクロック速度およびポーリングレートに戻ってもよい。
【0066】
上述のシステムおよび方法は、シームレスなロールスイッチを提供するという点で有利である。たとえば、ロールスイッチ手順は、ユーザが音声グリッチをまったく検出せずに実行され得る。そのため、ロールスイッチは、ホストとマスタとの間の高い信号強度接続を維持するために、または装置のバッテリ寿命を延ばすために、またはユーザ体験を犠牲にすることなくその他の理由で、実行され得る。
【0067】
特に記載のない限り、上述の代替例は相互に排他的ではなく、固有の利点を達成するためにさまざまな組合わせで実現され得る。上記に述べた特徴のこれらのおよび他の変形および組合わせは、特許請求の範囲によって規定される主題から逸脱することなく利用可能であるため、実施形態の上述の説明は、特許請求の範囲によって規定される主題の限定としてではなく例示として解釈されるべきである。また、本明細書に記載される例の提供、ならびに「など」および「含む」などとして表現されている節は、特許請求の範囲の主題を特定の例に限定するものとして解釈されるべきではない。むしろ、これらの例は多くの可能な実施形態のうちの1つのみを例示することを意図している。さらに、異なる図面における同一の参照番号は同一または同様の要素を特定し得る。
【手続補正書】
【提出日】2022-09-07
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
第1の装置と第2の装置との間の通信のための方法であって、前記方法は、
前記第1の装置が、ホスト装置からパケットを受信することと、
受信した前記パケットを前記第1の装置から前記第2の装置に送ることと、
前記第1の装置および前記第2の装置の各々における中央処理装置(CPU)クロックレートを増加させることと、
前記第2の装置が、前記ホスト装置からパケットを受信することと、
受信した前記パケットを前記第2の装置から前記第1の装置に送ることと、
前記第1の装置および前記第2の装置の音声バッファが予め定められたレベルに達すると、パケットを送信するタイミングの制御を前記第1の装置から前記第2の装置に渡すことと、
前記第1および第2の装置における前記CPUクロックレートを低下させることとを備える、方法。
【請求項2】
受信した前記パケットを前記第2の装置から前記第1の装置に送る前に、前記第1の装置が前記第2の装置にパケットを送信するポーリングレートを低下させることと、
パケットを送信するタイミングの制御を渡した後に、前記第2の装置が前記第1の装置にパケットを送信する前記ポーリングレートを増加させることとをさらに備える、請求項1に記載の方法。
【請求項3】
前記第1の装置が、前記ホスト装置からパケットを受信し続けながら前記第2の装置にロールスイッチ情報を送信することをさらに備える、請求項1または2に記載の方法。
【請求項4】
受信した前記パケットを前記第2の装置から前記第1の装置に送ることは、予め設定されたスケジュールに従って送ることを備える、請求項1~3のいずれか1項に記載の方法。
【請求項5】
前記予め設定されたスケジュールは、前記第1の装置のコントローラおよび前記第2の装置のコントローラ内にプログラムされる、請求項4に記載の方法。
【請求項6】
前記CPUクロックレートを増加させることは、前記CPUクロックレートを最大レート設定に設定することを備える、請求項1~5のいずれか1項に記載の方法。
【請求項7】
前記音声バッファの前記予め定められたレベルは100~250msである、請求項1~6のいずれか1項に記載の方法。
【請求項8】
システムであって、
第1の音声受信装置と、
第2の音声受信装置とを備え、
前記第1および第2の音声受信装置の各々は、
無線接続を介して音声パケットを受信するように適合された無線通信インターフェイスと、
受信した前記音声パケットを一時的に格納するように適合された音声バッファと、
前記音声バッファに一時的に格納されている前記音声パケットを再生するように適合されたスピーカと、
前記無線通信インターフェイスと通信するプロセッサとを備え、前記プロセッサは前記第1の音声受信装置と前記第2の音声受信装置との間の通信を実行するように構成され、前記通信は、
前記第1の音声受信装置が、ホスト装置からパケットを受信することと、
受信した前記パケットを前記第1の音声受信装置から前記第2の音声受信装置に送ることと、
前記第1の音声受信装置および前記第2の音声受信装置の各々における中央処理装置(CPU)クロックレートを増加させることと、
前記第2の音声受信装置が、前記ホスト装置からパケットを受信することと、
受信した前記パケットを前記第2の音声受信装置から前記第1の音声受信装置に送ることと、
前記第1の音声受信装置および前記第2の音声受信装置の音声バッファが予め定められたレベルに達すると、パケットを送信するタイミングの制御を前記第1の音声受信装置から前記第2の音声受信装置に渡すことと、
前記第1および第2の音声受信装置における前記CPUクロックレートを低下させることとを含む、システム。
【請求項9】
前記第1および第2の音声受信装置はイヤホンである、請求項8に記載のシステム。
【請求項10】
前記第1および第2の音声受信装置はさらに、
受信した前記パケットを前記第2の音声受信装置から前記第1の音声受信装置に送る前に、前記第1の装置の音声受信装置が前記第2の音声受信装置にパケットを送信するポーリングレートを低下させ、
パケットを送信するタイミングの制御を渡した後に、前記第2の音声受信装置が前記第1の音声受信装置にパケットを送信する前記ポーリングレートを増加させるように構成される、請求項8または9に記載のシステム。
【請求項11】
前記第1の音声受信装置はさらに、前記ホスト装置からパケットを受信し続けながら前記第2の音声受信装置にロールスイッチ情報を送信するように構成される、請求項8~10のいずれか1項に記載のシステム。
【請求項12】
前記第1および第2の音声受信装置の各々は、受信した前記パケットを前記第2の音声受信装置から前記第1の音声受信装置に送るための予め設定されたスケジュールを格納するメモリをさらに備える、請求項8~11のいずれか1項に記載のシステム。
【請求項13】
前記第1および第2の音声受信装置はさらに、前記CPUクロックレートを最大レート設定に設定することで前記CPUクロックレートを増加させるように構成される、請求項8~12のいずれか1項に記載のシステム。
【請求項14】
前記音声バッファの前記予め定められたレベルは100~250msである、請求項8~13のいずれか1項に記載のシステム。
【請求項15】
請求項1~7のいずれか1項に記載の方法をコンピュータに実行させるための、プログラム。
【外国語明細書】