(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023145769
(43)【公開日】2023-10-11
(54)【発明の名称】電子機器、デバイス、システム、方法及びプログラム
(51)【国際特許分類】
G10H 1/00 20060101AFI20231003BHJP
【FI】
G10H1/00 Z
G10H1/00 102Z
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2023129678
(22)【出願日】2023-08-09
(62)【分割の表示】P 2020208919の分割
【原出願日】2020-12-17
(71)【出願人】
【識別番号】000001443
【氏名又は名称】カシオ計算機株式会社
(74)【代理人】
【識別番号】100121083
【弁理士】
【氏名又は名称】青木 宏義
(74)【代理人】
【識別番号】100138391
【弁理士】
【氏名又は名称】天田 昌行
(74)【代理人】
【識別番号】100074099
【弁理士】
【氏名又は名称】大菅 義之
(74)【代理人】
【識別番号】100182936
【弁理士】
【氏名又は名称】矢野 直樹
(72)【発明者】
【氏名】佐野 文則
(72)【発明者】
【氏名】佐藤 淳
(72)【発明者】
【氏名】菅野 博樹
(57)【要約】
【課題】ジッタとレイテンシのトレードオフの好適な調整を実現すること。
【解決手段】本開示の一態様に係る電子機器は、Musical Instrument Digital Interface(MIDI(登録商標))メッセージと、前記MIDIメッセージの実行タイミングに関するタイムスタンプ情報と、前記MIDIメッセージのバッファリングに関するオフセット情報と、を受信する受信部と、前記オフセット情報に基づいて、前記タイムスタンプ情報による前記MIDIメッセージの実行タイミングを制御する制御部と、を有し、制御部は、前記タイムスタンプ情報による前記実行タイミングの制御を行うか否かを、MIDIのシステムエクスクルーシブメッセージ、コントロールチェンジメッセージ及びアサイナブルコントローラメッセージのいずれかに基づいて判断する。
【選択図】
図6
【特許請求の範囲】
【請求項1】
Musical Instrument Digital Interface(MIDI(登録商標))メッセージと、前記MIDIメッセージの実行タイミングに関するタイムスタンプ情報と、前記MIDIメッセージのバッファリングに関するオフセット情報と、を受信する受信部と、
前記オフセット情報に基づいて、前記タイムスタンプ情報による前記MIDIメッセージの実行タイミングを制御する制御部であって、前記タイムスタンプ情報による前記実行タイミングの制御を行うか否かを、MIDIのシステムエクスクルーシブメッセージ、コントロールチェンジメッセージ及びアサイナブルコントローラメッセージのいずれかに基づいて判断する制御部と、を有する電子機器。
【請求項2】
前記受信部は、前記MIDIの前記システムエクスクルーシブメッセージ、前記コントロールチェンジメッセージ及び前記アサイナブルコントローラメッセージのいずれかに含まれる前記オフセット情報を受信する請求項1に記載の電子機器。
【請求項3】
前記受信部は、前記電子機器に物理的に接続されるドングルを介して、前記タイムスタンプ情報と、前記オフセット情報と、前記MIDIメッセージと、を受信する請求項1又は2に記載の電子機器。
【請求項4】
電子機器及びデバイスを含むシステムであって、
前記電子機器は、
Musical Instrument Digital Interface(MIDI(登録商標))メッセージと、前記MIDIメッセージの実行タイミングに関するタイムスタンプ情報と、前記MIDIメッセージのバッファリングに関するオフセット情報と、を受信する受信部と、
前記オフセット情報に基づいて、前記タイムスタンプ情報による前記MIDIメッセージの実行タイミングを制御する制御部であって、前記タイムスタンプ情報による前記実行タイミングの制御を行うか否かを、MIDIのシステムエクスクルーシブメッセージ、コントロールチェンジメッセージ及びアサイナブルコントローラメッセージのいずれかに基づいて判断する制御部と、を有し、
前記デバイスは、
前記オフセット情報を決定する制御部と、
前記タイムスタンプ情報と、前記オフセット情報と、前記MIDIメッセージと、を送信する送信部と、を有するシステム。
【請求項5】
Musical Instrument Digital Interface(MIDI(登録商標))メッセージと、前記MIDIメッセージの実行タイミングに関するタイムスタンプ情報と、前記MIDIメッセージのバッファリングに関するオフセット情報と、を受信するステップと、
前記オフセット情報に基づいて、前記タイムスタンプ情報による前記MIDIメッセージの実行タイミングを制御するステップであって、前記タイムスタンプ情報による前記実行タイミングの制御を行うか否かを、MIDIのシステムエクスクルーシブメッセージ、コントロールチェンジメッセージ及びアサイナブルコントローラメッセージのいずれかに基づいて判断するステップと、を有する電子機器の方法。
【請求項6】
電子機器のコンピュータに、
Musical Instrument Digital Interface(MIDI(登録商標))メッセージと、前記MIDIメッセージの実行タイミングに関するタイムスタンプ情報と、前記MIDIメッセージのバッファリングに関するオフセット情報と、を受信させ、
前記オフセット情報に基づいて、前記タイムスタンプ情報による前記MIDIメッセージの実行タイミングを制御させる場合に、前記タイムスタンプ情報による前記実行タイミングの制御を行うか否かを、MIDIのシステムエクスクルーシブメッセージ、コントロールチェンジメッセージ及びアサイナブルコントローラメッセージのいずれかに基づいて判断させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、無線通信を利用する電子機器、デバイス、システム、方法及びプログラムに関する。
【背景技術】
【0002】
電子楽器の演奏のためのデータを機器間でやり取りするための形式として、Musical Instrument Digital Interface(MIDI(登録商標))が広く用いられている。一方で、無線通信デバイスが盛んに利用される近年では、無線を用いてMIDIを送受信する技術が検討されている。例えば、Bluetooth(登録商標) Low Energy(Bluetooth LE)を用いてMIDIを送受信するMIDI over Bluetooth LE(又はBLE MIDI)が検討されている。
【0003】
また、既存の電子楽器のMIDI端子に挿すだけでBLE MIDIが実現できるようなドングル装置が提案されている(特許文献1)。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
MIDIデータそのものは、時間に関するデータを持っていないので、機器が受信したタイミングが、楽器を制御(発音などなど)するタイミングとなる。
【0006】
しかしながら、無線通信の環境が悪い(例えば、通信品質が悪い)と、送信したデータが届くまでの時間が変動することがある。また、Bluetooth LEは、低消費電力化を目的として、データ通信は間欠発信となっている。複数の間欠発信間のタイミング差は、15ms(ミリ秒)以下であることが推奨されるため、無線環境が良くても15msのデータ遅延(ゆらぎ)が発生する可能性がある。
【0007】
BLE MIDI及びMIDI2.0では、タイムスタンプを利用することができ、受信したタイミングに関わらず、タイムスタンプで同期をとればゆらぎ(ジッタ)が改善される。ただし、十分な改善効果を得るためには、受信機器のデータバッファ量を多くとる必要があるが、その場合は、定量的な遅れ(レイテンシ)が増大し、リアルタイム性が損なわれるという課題がある。ジッタとレイテンシのトレードオフをうまくとれなければ、ユーザの体感品質が低下するが、そのような方法は検討されていない。
【0008】
そこで本開示は、ジッタとレイテンシのトレードオフの好適な調整を実現できる電子機器、デバイス、システム、方法及びプログラムを提供することを目的の1つとする。
【課題を解決するための手段】
【0009】
本開示の一態様に係る電子機器は、Musical Instrument Digital Interface(MIDI(登録商標))メッセージと、前記MIDIメッセージの実行タイミングに関するタイムスタンプ情報と、前記MIDIメッセージのバッファリングに関するオフセット情報と、を受信する受信部と、前記オフセット情報に基づいて、前記タイムスタンプ情報による前記MIDIメッセージの実行タイミングを制御する制御部であって、前記タイムスタンプ情報による前記実行タイミングの制御を行うか否かを、MIDIのシステムエクスクルーシブメッセージ、コントロールチェンジメッセージ及びアサイナブルコントローラメッセージのいずれかに基づいて判断する制御部と、を有する。
【発明の効果】
【0010】
本開示の一態様によれば、ジッタとレイテンシのトレードオフの好適な調整を実現できる。
【図面の簡単な説明】
【0011】
【
図1】
図1は、一実施形態に係るシステムの概略構成の一例を示す図である。
【
図2】
図2は、一実施形態にかかる電子楽器10の外観の一例を示す図である。
【
図3】
図3は、一実施形態にかかる電子楽器10の制御システム100のハードウェア構成の一例を示す図である。
【
図4】
図4は、一実施形態にかかるドングル20のハードウェア構成の一例を示す図である。
【
図5】
図5は、一実施形態にかかるデバイス30のハードウェア構成の一例を示す図である。
【
図6】
図6は、一実施形態に係るジッタ制御方法のシーケンス図である。
【
図7】
図7A-7Dは、タイムスタンプ及びオフセットに基づく補正の概念図である。
【
図8】
図8は、一実施形態に係る無線性能測定方法のシーケンス図である。
【
図9】
図9は、測定用データのフォーマットの一例を示す図である。
【発明を実施するための形態】
【0012】
以下、本開示の実施形態について添付図面を参照して詳細に説明する。以下の説明では、同一の部には同一の符号が付される。同一の部は名称、機能などが同じであるため、詳細な説明は繰り返さない。
【0013】
(システム)
図1は、一実施形態に係るシステムの概略構成の一例を示す図である。
図1に示すシステム1は、電子楽器10と、ドングル20と、デバイス30と、を含む。システム1は、MIDI伝送(又は再生又は実行)システム、無線性能評価システム、電子楽器システムなどと呼ばれてもよい。
【0014】
電子楽器10は、鍵盤、スイッチなどの操作子を介してユーザからの入力を受け付け、演奏などを制御するための装置である。電子楽器10は、MIDIデータなどの演奏情報に応じた音を発生する機能を有する装置であってもよい。当該装置は、電子楽器(電子ピアノ、シンセサイザーなど)であってもよいし、センサなどを搭載して電子楽器相当の機能を有するように構成されたアナログの楽器であってもよいし、演奏のための操作子(鍵盤など)を有しない電子機器(後述のデバイス30と同様の電子機器)であってもよい。なお、本開示において、電子機器は、電子楽器10及びその他の電子機器を包含する名称を意味してもよい。つまり、本開示において、電子楽器10は、電子機器10と互いに読み替えられてもよい。
【0015】
ドングル20は、電子楽器10に接続され、デバイス30との間の直接通信を中継する。本開示では、ドングル20は、電子楽器10のユニバーサルシリアルバス(Universal Serial Bus(USB))端子に接続(装着)されると想定して説明するが、これに限られない。USB以外のインターフェースが用いられる場合は、本開示のUSBは当該インターフェースに関して読み替えて実現されてもよい。ドングル20は、電子楽器用通信装置と呼ばれてもよい。
【0016】
デバイス30は、電子楽器10(又はドングル20)との間で通信を実施する電子機器である。デバイス30は、携帯電話、スマートフォン、タブレット型端末などの携帯端末(移動通信端末)であってもよいし、パソコン(Personal Computer(PC))、サーバ、テレビ、ゲーム機などの固定通信端末であってもよい。つまり、本開示におけるデバイス30は、通信デバイス、通信装置、端末装置などと互いに読み替えられてもよい。
【0017】
<電子楽器>
図2は、一実施形態にかかる電子楽器10の外観の一例を示す図である。電子楽器10は、スイッチ(ボタン)パネル140b、鍵盤140k、ディスプレイ150d、スピーカー150sなどを搭載してもよい。
【0018】
スイッチパネル140bは、音量の指定、音源、音色などの設定、ソング(伴奏)の選曲(伴奏)、ソング再生開始/停止、ソング再生の設定(テンポなど)などを操作するためのスイッチを含んでもよい。
【0019】
鍵盤140kは、演奏操作子としての複数の鍵を有してもよい。鍵は、演奏操作子、音高操作子、音色操作子、直接操作子などと呼ばれてもよい。
【0020】
ディスプレイ150dは、歌詞、楽譜、各種設定情報などを表示してもよい。スピーカー150sは、演奏により生成された音を放音するために用いられてもよい。
【0021】
なお、電子楽器10は、MIDIメッセージ(イベント)及びOpen Sound Control(OSC)メッセージの少なくとも一方を生成したり、変換したりすることができてもよい。また、本開示の「MIDI」は、MIDI1.0規格、MIDI2.0規格及びMIDIを修正/拡張した規格のいずれであってもよい。また、本開示において、MIDIメッセージ及びMIDIデータは、互いに読み替えられてもよい。なお、MIDIメッセージは、1つのコマンドとして機能する複数の(例えば、数バイトの)MIDIデータを意味してもよい。
【0022】
電子楽器10は、有線及び無線(例えば、Long Term Evolution(LTE)、5th generation mobile communication system New Radio(5G NR)、Wi-Fi(登録商標)、Bluetoothなど)の少なくとも一方を介して、ネットワーク(インターネットなど)と通信してもよい。
【0023】
図3は、一実施形態にかかる電子楽器10の制御システム100のハードウェア構成の一例を示す図である。
【0024】
中央処理装置(Central Processing Unit(CPU))101、ROM(リードオンリーメモリ)102、RAM(ランダムアクセスメモリ)103、音源104、
図2のスイッチ(ボタン)パネル140bや鍵盤140kが接続されるキースキャナ106、USBインターフェース107、及び
図2のディスプレイ150dの一例としてのLiquid Crystal Display(LCD)が接続されるLCDコントローラ108などが、それぞれシステムバス109に接続されている。
【0025】
CPU101には、演奏を制御するためのタイマ110(カウンタと呼ばれてもよい)が接続されてもよい。タイマ110は、例えば、電子楽器10における自動演奏の進行をカウントするために用いられてもよい。CPU101は、プロセッサと呼ばれてもよく、周辺回路とのインターフェース、制御回路、演算回路、レジスタなどを含んでもよい。
【0026】
CPU101は、RAM103をワークメモリとして使用しながらROM102に記憶された制御プログラムを実行することにより、
図2の電子楽器10の制御動作を実行する。また、ROM102は、上記制御プログラム及び各種固定データのほか、歌データ、伴奏データ、これらを含む曲(ソング)データなどを記憶してもよい。
【0027】
キースキャナ(スキャナ)106は、
図2の鍵盤140kの押鍵/離鍵状態、スイッチパネル140bのスイッチ操作状態などを定常的に走査し、CPU101に割り込みを掛けて状態変化を伝える。
【0028】
LCDコントローラ108は、ディスプレイ150dの一例であるLCDの表示状態を制御するIC(集積回路)である。
【0029】
音源104は、キースキャナ106に基づいてCPU101から入力されるノートオン/オフデータに基づいて、発音すべき(ノートオンの)音に対応するデジタルの音源信号(例えば、楽器音の波形データ)を生成し、Digital to Analog(D/A)コンバータ111に出力する。音源104は、発音する音のエンベロープ制御等の処理を実行してもよい。音源104は、音声合成処理を実行して合成音声の信号を生成してもよい。
【0030】
D/Aコンバータ111は、入力されたデジタル信号をアナログ信号に変換してアンプ112に出力する。アンプ112は、入力信号を増幅し、スピーカー150s又は図示しない出力端子から出力してもよい。
【0031】
USBインターフェース107は、電子楽器10に外部接続端子(例えば、コネクタ)を用いて物理的に接続されるドングル20との間でUSB規格に沿った信号のやり取りを行う。USBインターフェース107は、USBコネクタ(USB接続端子)を含んでもよい。
【0032】
CPU101は、USBインターフェース107から入力された信号がMIDI形式のデータ(MIDIデータ)を含む場合、音源104を用いて再生処理を行ってもよい。また、CPU101は、キースキャナ106から取得されたキー入力情報(例えば、ノートオン/オフ)などに基づいて、MIDIデータを生成してUSBインターフェース107に出力し、ドングル20を介してデバイス30へと送信してもよい。
【0033】
<ドングル>
図4は、一実施形態にかかるドングル20のハードウェア構成の一例を示す図である。ドングル20は、例えば、USBインターフェース部201、RF部202、アンテナ部203などを含んで構成される。なお、本開示の各図面は説明に利用する構成を示したに過ぎず、図示されない電源などの構成を含んでもよいことは当業者には当然理解される。
【0034】
USBインターフェース部201は、電子楽器10のUSBインターフェース107と、RF部202と、の間でUSB規格に沿った信号(例えば、MIDIデータを含む信号)を中継する。言い換えると、USBインターフェース部201は、RF部で利用する信号とUSB規格に沿った信号とのブリッジ(変換)をする機能を有する。
【0035】
例えば、USBインターフェース部201は、電子楽器10のUSBインターフェース107を介して送信された信号(パケット)から、もとのデータを取得し、RF部202に転送する。また、USBインターフェース部201は、RF部202から転送されたデータを、USBのパケットに含めて電子楽器10のUSBインターフェース107へ送信する。
【0036】
RF部202は、無線通信(例えば、Bluetooth、Wi-Fiなど)を用いた信号の送受信を実現する。
【0037】
RF部202は、USBインターフェース部201から転送された送信するビット列(例えばMIDIデータ)に対して、チャネル符号化(誤り訂正符号化を含んでもよい)、変調、マッピング、フィルタ処理、逆高速フーリエ変換(Inverse Fast Fourier Transform(IFFT))処理、デジタル-アナログ変換などの送信処理を行い、ベースバンド信号を出力してもよい。RF部202は、ベースバンド信号に対して、無線周波数帯への変調、フィルタ処理、増幅などを行い、無線周波数帯の信号を、アンテナ部203を介して送信してもよい。
【0038】
一方、RF部202は、アンテナ部203によって受信された無線周波数帯の信号に対して、増幅、フィルタ処理、ベースバンド信号への復調などを行ってもよい。RF部2002は、取得されたベースバンド信号に対して、アナログ-デジタル変換、高速フーリエ変換(Fast Fourier Transform(FFT))処理、フィルタ処理、デマッピング、復調、復号(誤り訂正復号を含んでもよい)などの受信処理を適用し、送信されたデータ(例えばMIDIデータ)を取得し、USBインターフェース部201に転送してもよい。
【0039】
なお、RF部202は、受信した無線信号を送信されたデータに変換する処理と、送信するビット列を無線信号に変換する処理と、を同時に行ってもよい。
【0040】
アンテナ部203は、本開示に係る技術分野での共通認識に基づいて説明されるアンテナ、例えば、パターンアンテナ、チップアンテナ、ダイポールアンテナ、オムニアンテナ、ホイップアンテナなどの少なくとも1つから構成することができる。
【0041】
なお、本開示において、MIDIと同時に他のデータ(例えば、曲の伴奏についてのオーディオデータ)がUSBインターフェースや無線通信において送受信されてもよい。また、本開示のUSBインターフェース部201は、電子楽器10と接続して通信することが可能な任意のインターフェース部で読み替えられてもよい。この場合、本開示の「USB」は任意のインターフェース部に関する名称で読み替えられてもよく、「USB規格に沿った信号」は、当該任意のインターフェース部が準拠する規格に沿った信号で読み替えられてもよい。
【0042】
<デバイス>
図5は、一実施形態にかかるデバイス30のハードウェア構成の一例を示す図である。デバイス30は、物理的には、プロセッサ301、メモリ302、ストレージ303、通信装置304、入力装置305、出力装置306、バス307などを含むコンピュータ装置として構成されてもよい。
【0043】
デバイス30における各機能は、プロセッサ301、メモリ302などのハードウェア上に所定のソフトウェア(プログラム)を読み込ませることによって、プロセッサ301が演算を行い、通信装置304による通信、メモリ302及びストレージ303におけるデータの読み出し及び/又は書き込みなどを制御することによって実現される。
【0044】
プロセッサ301は、例えば、オペレーティングシステムを動作させてコンピュータ全体を制御する。プロセッサ301は、周辺装置とのインターフェース、制御装置、演算装置、レジスタなどを含む中央処理装置(CPU)によって構成されてもよい。
【0045】
また、プロセッサ301は、プログラム(プログラムコード)、ソフトウェアモジュール、データなどを、ストレージ303及び通信装置304の少なくとも一方からメモリ302に読み出し、これらに従って各種の処理を実行する。プログラムとしては、本開示の実施形態において説明する動作の少なくとも一部をコンピュータに実行させるプログラムが用いられる。
【0046】
メモリ302は、コンピュータ読み取り可能な記録媒体であり、例えば、ROM(Read Only Memory)、EPROM(Erasable Programmable ROM)、EEPROM(Electrically EPROM)、RAM(Random Access Memory)、その他の適切な記憶媒体の少なくとも1つによって構成されてもよい。メモリ302は、レジスタ、キャッシュ、メインメモリ(主記憶装置)などと呼ばれてもよい。メモリ302は、一実施形態に係る方法を実施するために実行可能なプログラム(プログラムコード)、ソフトウェアモジュールなどを保存することができる。
【0047】
ストレージ303は、コンピュータ読み取り可能な記録媒体であり、例えば、フレキシブルディスク、フロッピー(登録商標)ディスク、光磁気ディスク(例えば、コンパクトディスク(CD-ROM(Compact Disc ROM)など)、デジタル多用途ディスク、Blu-ray(登録商標)ディスク)、リムーバブルディスク、ハードディスクドライブ、スマートカード、フラッシュメモリデバイス(例えば、カード、スティック、キードライブ)、磁気ストライプ、データベース、サーバ、その他の適切な記憶媒体の少なくとも1つによって構成されてもよい。ストレージ303は、補助記憶装置と呼ばれてもよい。
【0048】
通信装置304は、有線ネットワーク及び無線ネットワークの少なくとも一方を介してコンピュータ間の通信を行うためのハードウェア(送受信デバイス)であり、例えばネットワークデバイス、ネットワークコントローラ、ネットワークカード、通信モジュールなどともいう。
【0049】
入力装置305は、外部からの入力を受け付ける入力デバイス(例えば、キーボード、マウスなど)である。出力装置306は、外部への出力を実施する出力デバイス(例えば、ディスプレイ、スピーカーなど)である。なお、入力装置305及び出力装置306は、一体となった構成(例えば、タッチパネル)であってもよい。
【0050】
また、プロセッサ301、メモリ302などの各装置は、情報を通信するためのバス307によって接続される。バス307は、単一のバスによって構成されてもよいし、装置間で異なるバスで構成されてもよい。
【0051】
なお、これらのシステム構成、機器構成は一例であり、これに限られない。例えば、各回路が含まれる数は、これに限られない。各装置は、一部の回路(機構)を含まない構成を有してもよいし、1つの回路の機能が複数の回路により実現される構成を有してもよい。複数の回路の機能が1つの回路により実現される構成を有してもよい。
【0052】
また、電子楽器10、ドングル20、デバイス30は、マイクロプロセッサ、デジタル信号プロセッサ(Digital Signal Processor(DSP))、Application Specific Integrated Circuit(ASIC)、Programmable Logic Device(PLD)、Field Programmable Gate Array(FPGA)などのハードウェアを含んで構成されてもよく、当該ハードウェアにより、各機能ブロックの一部又は全てが実現されてもよい。例えば、CPU101は、これらのハードウェアの少なくとも1つで実装されてもよい。
【0053】
なお、ここまでで述べたブロック図は、機能単位のブロックを示している。これらの機能ブロック(構成部)は、ハードウェア及び/又はソフトウェアの任意の組み合わせによって実現される。また、各機能ブロックの実現手段は特に限定されない。すなわち、各機能ブロックは、物理的に結合した1つの装置により実現されてもよいし、物理的に分離した2つ以上の装置を有線又は無線によって接続し、これら複数の装置により実現されてもよい。
【0054】
例えば、プロセッサ301は1つだけ図示されているが、複数のプロセッサがあってもよい。また、処理は、1のプロセッサによって実行されてもよいし、処理が同時に、逐次に、又はその他の手法を用いて、2以上のプロセッサによって実行されてもよい。なお、各機能ブロックは、1以上のチップによって実装されてもよい。
【0055】
(レイテンシ及びジッタ制御方法)
本開示の一実施形態に係るレイテンシ及びジッタ制御方法について、以下で説明する。
【0056】
レイテンシとジッタはトレードオフの関係がある。本発明者らは、データの制御は受信側(電子楽器10側)で行われるのに対し、最適な受信側バッファの設定値は送信側(デバイス30側)のアプリケーションソフトでのMIDIデータの扱い方、MIDIデータのデータ構成、デバイス30の性能など、大部分が送信側に依存することを発見した。
【0057】
そこで本発明者らは、MIDIデータフォーマットにおいてメーカが拡張可能/設定可能なメッセージを用いて、デバイス30のアプリケーションソフトが、電子楽器10のタイムスタンプ制御方法や、バッファリングについての最適なオフセット値を、電子楽器10に、リモートからリアルタイムに設定できる制御方法を着想した。この構成によれば、ジッタとレイテンシのバランスの最適化が図れる。また、ユーザが意識することなく、デバイス30のアプリケーションソフトがレイテンシとジッタの最適なバランスを調整することができる。
【0058】
なお、本実施形態では拡張可能なメッセージとしてシステムエクスクルーシブメッセージによる方法を開示しているが、コントロールチェンジメッセージに含まれるNRPN(Non Registered Parameter Number)やMIDI2.0規格のアサイナブルコントローラメッセージ(Assignable Controller Message)を利用してもよい。つまり、本開示におけるシステムエクスクルーシブメッセージは、コントロールチェンジメッセージ、NRPN、アサイナブルコントローラメッセージなどと互いに読み替えられてもよい。
【0059】
図6は、一実施形態に係るジッタ制御方法のフローチャートの一例を示す図である。なお、本開示の説明において、デバイス30は、「デバイス30のアプリケーション」と互いに読み替えられてもよい。
【0060】
デバイス30は、MIDIデータのバッファリングに関するオフセット時間を決定する(ステップS101)。デバイス30は、オフセット時間を、予め設定された値としてもよいし、ユーザから入力された値としてもよいし、後述する測定に基づいて決定してもよい。例えば、デバイス30は、当該測定に基づいて、デバイス30及び電子楽器10間のジッタ(又は遅延)が比較的小さい(又はほとんど0)と判断した場合、オフセット時間を比較的小さい値(又は0)と決定してもよい。
【0061】
なお、オフセット時間は、オフセット量、オフセットなどと互いに読み替えられてもよい。以下、単にオフセット時間をオフセットと呼ぶ。オフセットは、MIDIデータのバッファリングに関する時間と呼ばれてもよい。
【0062】
また、デバイス30は、ステップS101において、電子楽器10のタイムスタンプ処理の有無を決定してもよい。例えば、デバイス30は、当該測定に基づいて、デバイス30及び電子楽器10間のジッタ(又は遅延)が比較的小さい(又はほとんど0)と判断した場合、タイムスタンプ処理の適用を無しと判断し、そうでない場合にはタイムスタンプ処理の適用をありと判断してもよい。
【0063】
デバイス30は、決定したオフセットに関する情報を、電子楽器10に送信する(ステップS102)。このオフセットに関する情報(オフセット情報と呼ばれてもよい)は、オフセットの時間自体(例えば、15ms、30msなど)を明示的に示してもよいし、オフセットの時間に関連付けられるインデックス値を示してもよい。このインデックス値とオフセット時間との対応関係は予め定義されてもよいし、設定されてもよい。対応関係は、例えばインデックス=0はオフセット時間=0(又はタイムスタンプ処理なし)、インデックス=1はオフセット時間=15msなどを示してもよい。
【0064】
電子楽器10は、受信したオフセット情報に基づいて、オフセットを設定する(ステップS103)。なお、電子楽器10は、オフセット情報を受信しない場合には、オフセットは所定の値(デフォルト値。例えば、0)であると判断してもよい。
【0065】
その後、デバイス30は、MIDIデータを、無線通信を介して(例えば、BLEを用いて)電子楽器10に送信する(ステップS104)。電子楽器10は、受信したMIDIデータを、ステップS103で設定したオフセットに基づいてバッファリングし、MIDIデータの実行(例えば、再生、発音)処理を行う(ステップS105)。ステップS105の実行処理は、例えば、発音を開始するノートオンメッセージの処理、発音を終了させるノートオフメッセージの処理、ペダルをON/OFFするメッセージの処理、など任意のMIDIデータに関する処理を含んでもよい。
【0066】
なお、ステップS102においては、オフセット情報の代わりに又は当該情報とともに、タイムスタンプ処理の有無に関する情報(タイムスタンプ処理情報と呼ばれてもよい)が送信されてもよい。
【0067】
BLE-MIDIやMIDI2.0においては、オリジナルのMIDIデータを送信する際に、タイムスタンプ(時間情報)が付与されてもよい。電子楽器10は、タイムスタンプ処理情報が「あり」を示す場合には、ステップS105の実行処理において、電子楽器10がタイムスタンプに基づく補正を行い、そうでない場合には、仮に受信したMIDIデータにタイムスタンプが付与されている場合であっても、タイムスタンプに基づく補正は行わない(タイムスタンプを無視して実行する)。
【0068】
タイムスタンプは、MIDIメッセージの実行タイミングに関する情報と呼ばれてもよい。なお、本開示において、タイムスタンプ及びタイムスタンプ情報は、互いに読み替えられてもよい。なお、タイムスタンプは、MIDIデータに含まれてもよいし、MIDIデータとは別の情報として電子楽器10に通知されてもよい。後者の場合、タイムスタンプ情報が規格に含まれていないMIDI1.0のデータを受信する場合であっても、本開示に基づいてタイムスタンプの制御を適用できる。
【0069】
図7A-7Dは、タイムスタンプ及びオフセットに基づく補正の概念図である。
【0070】
図7Aは、本来の演奏通りの発音タイミングの一例を示す。図には、八分音符の長さの音符0、四分音符の長さの音符1、八分音符の長さの音符2の順で音符が並んでいる。ts0、ts1、ts2はそれぞれ音符0、音符1、音符2の発音時刻を示すタイムスタンプに該当する。音符1は、音符0からts1-ts0後の時刻に発音され、音符2は、音符0からts2-ts0後の時刻に発音されたことを示す。
【0071】
図7B-7Dでは、
図7Aのデータが伝送され、ジッタが生じる場合の発音タイミングを示す。各図の上側に記載のst0、st1、st2はそれぞれ音符0-2の受信側への到着時刻を示す。各タイミングはジッタの影響を受け、st1-st0≠ts1-ts0であり、st2-st0≠ts2-ts0である。また、各図の下側に記載の音符の位置が実際の発音時刻を示す。
【0072】
図7Bは、タイムスタンプに基づく補正を行わない場合の発音タイミングの一例を示す。この場合、各音符は到着時刻で発音されるため、音符0-2の発音タイミングはts0、ts1、ts2の間隔が維持されない。
【0073】
図7Cは、タイムスタンプに基づく補正を、オフセット適用なしで行う場合の発音タイミングの一例を示す。この場合、基準より早く到着した音符の発音タイミングが補正される。この基準は、例えば、ある音符の到着時刻を基準としたタイムスタンプに基づく発音タイミングであってもよいし、ある時刻(例えば、曲又は演奏(MIDI再生など)の開始時刻)を基準としたタイムスタンプに基づく発音タイミングであってもよい。
【0074】
図7Cの場合、音符2は、音符0を基準とした到着時刻の差(st2-st0)が、タイムスタンプの差(ts2-ts0)より小さい(つまり、音符2は発音予定のタイミングより早く到着した)ため、本来の発音タイミングに補正される(発音タイミングが、st0から時刻ts2-ts0後に調整される)。
【0075】
一方で、音符1は、音符0を基準とした到着時刻の差(st1-st0)が、タイムスタンプの差(ts1-ts0)より大きい(つまり、音符1は発音予定のタイミングより遅く到着した)ため、補正できずに到着してすぐ発音される。
【0076】
図7Cの場合、一部の音符の発音タイミングについて、ts0、ts1、ts2の間隔が維持されない。
【0077】
図7Dは、タイムスタンプに基づく補正を、オフセット適用ありで行う場合の発音タイミングの一例を示す。この場合、基準より早く到着した音符の発音タイミングが補正される。また、基準に対してオフセット以内の遅れで到着した音符の発音タイミングが補正される。この基準は、
図9Cと同様に、ある音符の到着時刻を基準としたタイムスタンプに基づく発音タイミングであってもよいし、ある時刻(例えば、曲又は演奏(MIDI再生など)の開始時刻)を基準としたタイムスタンプに基づく発音タイミングであってもよい。
【0078】
図7Dの場合、音符0は、st0に到着してからオフセット(offset)の時間だけ待って発音される。音符1は、st1に到着したが、すぐには発音されず、音符0の発音タイミングからタイムスタンプの差(ts1-ts0)の時間だけ待って発音される。音符2は、st2に到着したが、すぐには発音されず、音符0の発音タイミングからタイムスタンプの差(ts2-ts0)の時間だけ待って発音される。
【0079】
図7Dの場合、音符の発音タイミングについて、ts0、ts1、ts2の間隔が維持される。
【0080】
<オフセット情報及びタイムスタンプ処理情報のフォーマット>
上述のステップS102で送信されるオフセット情報及びタイムスタンプ処理情報の少なくとも一方は、MIDIのシステムエクスクルーシブ(SystemExclusive(SysEx))メッセージ、コントロールチェンジメッセージに含まれるNRPN(Non Registered Parameter Number)などを用いて電子楽器10に通知されてもよい。
【0081】
1つのSysExメッセージ(又はNRPN)でオフセット情報及びタイムスタンプ処理情報の両方が通知されてもよいし、複数のSysExメッセージ(又はNRPN)でオフセット情報及びタイムスタンプ処理情報が別々に通知されてもよい。
【0082】
SysExメッセージでオフセット情報が通知される場合、当該SysExメッセージは、オフセット情報を含むことを示す情報(ビット列)と、オフセット情報の内容(例えば、オフセットの時間自体)を示す情報(ビット列)と、を含んでもよい。
【0083】
SysExメッセージでタイムスタンプ処理情報が通知される場合、当該SysExメッセージは、タイムスタンプ処理情報を含むことを示す情報(ビット列)と、タイムスタンプ処理情報の内容(例えば、タイムスタンプ処理をする/しない)を示す情報(ビット列)と、を含んでもよい。
【0084】
これらの情報は、例えば、MIDIのデータバイト(例えば、SysExメッセージ内のデータバイト)を用いて通知されてもよい。なお、本開示において、任意の情報がMIDIのデータバイトを用いて通知される場合、データバイトの最上位ビット(Most Significant Bit(MSB))が0であることを考慮して当該情報が構成される必要がある。つまり、送信側であるデバイス30は、当該情報を7ビット単位で各データバイトに割り当てて送信し、受信側である電子楽器10は、受信した情報の各データバイトのMSBを除外して結合して元の情報を得る。
【0085】
例えば、送信するオフセット情報が2バイトであり“0000000011111111”である場合、デバイス30は、まず7ビットごとに区切って“0000000”、“0111111”、“11”の3つのビット列を得る。そして、デバイス30は、それぞれのビット列の先頭に‘0’を付与し(また、ビット列が1バイトに満たない場合はビットパディングを適用し)、“00000000”、“00111111”、“01100000”という3つのデータバイトを得て、SysExメッセージに含めて送信してもよい。
【0086】
なお、通知されるオフセット情報/タイムスタンプ処理情報のビット数は、予め定義されてもよいし、デバイス30から通知されてもよい。例えば、オフセット情報は、4、8、16、32ビットなどで表現されてもよいし、タイムスタンプ処理情報は1ビットで表現されてもよい。
【0087】
コントロールチェンジメッセージのコントロール番号98、99に割当てられているNRPNでオフセット情報を通知する場合はNRPNのMSB、LSBにオフセット情報であることを示す数値を設定し(メーカが任意に設定してよい)、当該NRPNのデータエントリーにオフセット情報の内容(例えば、オフセットの時間自体)を設定して送信してもよい。タイムスタンプ処理情報も同様にNRPNで送信してもよい。MIDI2.0でNRPNに対応するメッセージとして新たに規定されたアサイナブルコントローラメッセージによって、オフセット情報やタイムスタンプ処理情報が送信されてもよい。
【0088】
(無線の性能測定方法)
電子楽器10及びデバイス30の周辺の環境によっては、これらの間の無線通信品質が変動し、ジッタやレイテンシに影響を及ぼすおそれがある。このため、電子楽器10及びデバイス30の間の無線の性能測定がリアルタイムにかつ容易に行えることが好ましい。
【0089】
本発明者らは、このためのデータフォーマット及び測定方法を着想した。
【0090】
図8は、一実施形態に係る無線性能測定方法のシーケンス図である。
【0091】
デバイス30は、測定用のデータを電子楽器10に対して送信する(ステップS201)。ステップS201の送信は、単発の送信であってもよいし、一定期間(例えば、1s)にわたる、ある送信間隔(例えば、7.5ms、15msなど)の複数の送信であってもよい。
【0092】
電子楽器10は、受信した測定用のデータのそれぞれに対して、カウンタ値を修正し、デバイス30に返信する(ステップS202)。修正された測定用データは、返送用データ、返信用データ、報告用データなどと呼ばれてもよい。
【0093】
デバイス30は、ステップS201の測定用データの送信データ量、送信時刻、ステップS202の返信されたデータの受信時刻、などに基づいて、電子楽器10及びデバイス30の間の無線の性能を算出する(ステップS203)。無線の性能は、例えば、単位時間あたりのスループット、往復遅延時間などの少なくとも1つに該当してもよい。
【0094】
本例では、デバイス30が送信側、電子楽器10が受信側として説明したが、電子楽器10が送信側、デバイス30が受信側であってもよい。
【0095】
なお、ステップS201の前に、デバイス30及び電子楽器10の一方から他方に対して、測定開始を連絡する情報が送信されてもよい。デバイス30及び電子楽器10は、当該情報の送受信を契機に、後述の識別番号、カウンタ値などのリセット、時刻同期(時刻調整)などを行ってもよい。
【0096】
また、測定用データの送信回数(送信データ数)、送信間隔、送信期間(測定期間)などは、デバイス30に予め定義されてもよいし、デバイス30がユーザからの入力に基づいて決定してもよい。測定用データの送信回数、送信間隔、送信期間などに関する情報は、デバイス30から電子楽器10に通知されてもよい。
【0097】
デバイス30は、この測定の際に、受信信号強度(Received Signal Strength Indicator(RSSI))を同時に測ってもよい。当該RSSIは、瞬時RSSIであってもよいし、ある期間における平均/最小/最大RSSIであってもよい。
【0098】
<測定用データ/返信用データのフォーマット>
上述のステップS201で送信される測定用データは、MIDIのSysExメッセージ、コントロールチェンジメッセージなどの少なくとも1つを用いて電子楽器10に通知されてもよい。
【0099】
図9は、測定用データのフォーマットの一例を示す図である。本例のフォーマットは、SysExメッセージに該当し、SysExメッセージ開始を示す“F0”で開始し、SysExメッセージ開始を示す“F7”で終了する。その他のSysExメッセージに必要な情報については記載を省略する。
【0100】
SysExメッセージで測定用データが通知される場合、当該SysExメッセージは、当該データが何番目のデータかを示す識別番号の情報(ビット列)と、あるカウンタの値を示すカウンタ値の情報(ビット列)と、を含んでもよい。
【0101】
これらの情報は、例えば、MIDIのデータバイト(例えば、SysExメッセージ内のデータバイト)を用いて通知されてもよい。
【0102】
例えば、識別番号情報やカウンタ値情報は、4、8、16、32ビットなどで表現されてもよい。
【0103】
ステップS201において、デバイス30は、連続するN個(Nは整数)の測定用データのうち、i番目(iは整数)の測定用データを送信する場合には、識別番号情報として、例えばi-1の値を設定して送信する。言い換えると、1回の測定について、識別番号は0から開始し、1データごとにカウントアップした値をデバイス30がセットして送信する。つまり、識別番号は、「測定用データを送信した回数-1」を意味してもよい。また、デバイス30は、任意の測定用データを送信する場合には、カウンタ値として任意の値(例えば、0)を設定して送信する。
【0104】
ステップS202において、電子楽器10は、測定用データを受信するたびに、自身のカウンタ値を+1インクリメントする。なお、電子楽器10は、測定開始時に、カウンタ値を-1に設定してもよい。つまり、電子楽器10のカウンタ値は、「測定用データを受信した回数-1」を意味してもよい。
【0105】
また、ステップS202において、電子楽器10は、受信した測定用データの、識別番号情報をそのままとし、カウンタ値情報に自身のカウンタ値を設定(更新)したものを、返送用データとしてデバイス30に返信してもよい。
【0106】
つまり、測定用データ及び返信用データのフォーマットは、同じであってもよい。データサイズの違いによる通信への影響を抑制する(測定精度を向上する)ために、測定用データ及び返信用データのサイズ(ビット数)は、同じであることが好ましい。
【0107】
デバイス30は、受信した返送用データにおいて、識別番号及びカウンタ値が一致すれば、これまで送信した測定用データに欠損はない(正しく送受信された)と判断できる。
【0108】
デバイス30は、同じ識別番号の測定用データの送信時刻及び返送用データの受信時刻に基づいて、デバイス30及び電子楽器10間の往復遅延時間(Round Trip Time(RTT))を導出してもよい。また、デバイス30は、単位時間あたりの測定用データ/返送用データの通信量に基づいて、デバイス30及び電子楽器10間の通信スループットを導出してもよい。RTTや通信スループットは、瞬時値であってもよいし、ある期間における平均/最大/最小値であってもよい。
【0109】
また、受信側(電子楽器10)は、等間隔に送信される測定用データのずれを記録し、これらのずれに基づいてデバイス30から電子楽器10への送信にかかるジッタを算出してもよい。電子楽器10は、デバイス30に対し算出したジッタを送信してもよい。電子楽器10は、SysExメッセージを用いて当該ジッタに関する情報を送信してもよい。
【0110】
ステップS202において、電子楽器10は、受信した測定用データの、識別番号情報をそのままとし、カウンタ値情報の代わりに受信時刻に関する情報を設定して、返送用データとしてデバイス30に返信してもよい。当該受信時刻に関する情報は、カウンタ値情報と同じビット数(サイズ)であることが好ましい。デバイス30は、受信した返送用データから、上記ジッタを算出してもよい。
【0111】
なお、電子楽器10は、カウンタ値情報及び受信時刻に関する情報を含む返送用データをデバイス30に返信してもよい。電子楽器10は、識別番号情報及びカウンタ値情報及び受信時刻に関する情報を含む返送用データをデバイス30に返信してもよい。
【0112】
上述したような測定方法によれば、例えば、電子楽器10及びデバイス30の間で、MIDIと同時にMIDI以外の他のトラフィック(オーディオデータなど)が流れる場合の無線性能測定も容易に行うことができるため、様々な環境におけるジッタ、レイテンシの制御を好適に行うことができる。
【0113】
(変形例)
上述の各実施形態において、ドングル20は無くてもよい。この場合、電子楽器10に、デバイス30と無線通信する機能(例えば、
図4のRF部202、アンテナ部203)があればよい。
【0114】
上述の各実施形態(特に
図6、
図8など)において、電子楽器10の動作はドングル20によって行われてもよい。例えば、
図6のステップS103のオフセットはドングル20に設定されてもよく、この場合ステップS105のバッファリングはドングル20が行い、電子楽器10はドングル20によってオフセット時間だけバッファされたMIDIを受信して即座にMIDIデータの実行処理をしてもよい。
【0115】
また、
図8のステップS202の返送用データの送信は、ドングル20によって行われてもよい。この場合、無線部分だけの性能をより精密に測定できることが期待される。
【0116】
上述の各実施形態(特に
図6、
図8など)において、電子楽器10の動作はドングル20によって行われてもよい。例えば、
図6のステップS103のオフセットはドングル20に設定されてもよく、この場合ステップS105のバッファリングはドングル20が行い、電子楽器10はドングル20によってオフセット時間だけバッファされたMIDIを受信して即座にMIDIデータの実行処理をしてもよい。
【0117】
上述の実施形態では、電子楽器10がキーボードのような鍵盤楽器である例を示したが、これに限られない。電子楽器10は、ユーザの操作によって発音のタイミングを指定できる構成を有する機器であればよく、エレクトリックヴァイオリン、エレキギター、ドラム、ラッパなどであってもよい。
【0118】
また、電子楽器10は、いわゆる楽器(キーボードなど)に限られず、携帯電話、スマートフォン、タブレット型端末、パソコン(Personal Computer(PC))、テレビなどで読み替えられてもよい。
【0119】
以上説明したように、本開示の電子楽器10、ドングル20、デバイス30などを用いることによって、ジッタとレイテンシのトレードオフの好適な調整を実現することができる。
【0120】
なお、電子機器10(例えば、電子楽器10。以下同じ)は、識別番号情報及びカウンタ値情報を含む測定用データを受信する受信部(例えば、USBインターフェース107)と、前記測定用データを受信した回数に基づいて前記測定用データのカウンタ値情報を更新して構成される、返送用データを送信する送信部(例えば、USBインターフェース107)と、を有してもよい。このような構成によれば、電子機器のための無線通信の計測を容易に実施できる。
【0121】
また、前記受信部は、ある送信間隔(例えば、15ms)で送信される複数の前記測定用データを受信し、前記送信部は、複数の前記測定用データについてそれぞれ前記返送用データを送信してもよい。このような構成によれば、一定期間における上記無線通信のスループット、ジッタなどの計測を好適に実施できる。
【0122】
また、前記測定用データは、Musical Instrument Digital Interface(MIDI(登録商標))のシステムエクスクルーシブメッセージ、コントロールチェンジメッセージ又はアサイナブルコントローラメッセージであってもよい。このような構成によれば、MIDIを利用できる機器間の無線通信(例えばBLE-MIDI)に適した測定を実施できる。
【0123】
また、前記受信部は、電子機器10に物理的に接続されるドングル(ドングル20)を介して前記測定用データを受信し、前記送信部は、前記ドングルを介して前記返送用データを送信してもよい。このような構成によれば、電子機器10がデバイス30と直接無線通信する機能を有しない場合に、ドングル20を介するこれらの間の無線通信の計測を実現できる。
【0124】
なお、電子機器10は、Musical Instrument Digital Interface(MIDI(登録商標))メッセージと、前記MIDIメッセージの実行タイミングに関するタイムスタンプ情報(例えば、USBインターフェース107)と、前記MIDIメッセージのバッファリングに関するオフセット情報と、を受信する受信部と、前記オフセット情報に基づいて、前記タイムスタンプ情報による前記MIDIメッセージの実行タイミングを制御する制御部(例えば、CPU101)と、を有してもよい。このような構成によれば、電子機器のための無線通信について、ジッタとレイテンシのトレードオフの好適な調整を実現できる。
【0125】
また、前記受信部は、MIDIのシステムエクスクルーシブメッセージ、コントロールチェンジメッセージ又はアサイナブルコントローラメッセージに含まれる前記オフセット情報を受信してもよい。このような構成によれば、MIDIを利用できる機器間の無線通信(例えばBLE-MIDI)に適した制御を実施できる。
【0126】
また、前記制御部は、前記タイムスタンプ情報による前記実行タイミングの制御を行うか否かを、MIDIのシステムエクスクルーシブメッセージ、コントロールチェンジメッセージ又はアサイナブルコントローラメッセージに基づいて判断してもよい。このような構成によれば、MIDIを利用できる機器間の無線通信(例えばBLE-MIDI)に適した制御を実施できる。
【0127】
また、前記受信部は、電子機器10に物理的に接続されるドングル(ドングル20)を介して、前記タイムスタンプ情報と、前記オフセット情報と、前記MIDIメッセージと、を受信するようにしてもよい。このような構成によれば、電子機器10がデバイス30と直接無線通信する機能を有しない場合に、ドングル20を介するこれらの間の無線通信について、ジッタとレイテンシのトレードオフの好適な調整を実現できる。
【0128】
本開示において説明した各態様/実施形態は単独で用いてもよいし、組み合わせて用いてもよいし、実行に伴って切り替えて用いてもよい。また、本開示において説明した各態様/実施形態の処理手順、シーケンス、フローチャートなどは、矛盾の無い限り、順序を入れ替えてもよい。例えば、本開示において説明した方法については、例示的な順序を用いて様々なステップの要素を提示しており、提示した特定の順序に限定されない。
【0129】
本開示において使用する「に基づいて」という記載は、別段に明記されていない限り、「のみに基づいて」を意味しない。言い換えれば、「に基づいて」という記載は、「のみに基づいて」と「に少なくとも基づいて」の両方を意味する。
【0130】
本開示において使用する「第1の」、「第2の」などの呼称を使用した要素へのいかなる参照も、それらの要素の量又は順序を全般的に限定しない。これらの呼称は、2つ以上の要素間を区別する便利な方法として本開示において使用され得る。したがって、第1及び第2の要素の参照は、2つの要素のみが採用され得ること又は何らかの形で第1の要素が第2の要素に先行しなければならないことを意味しない。
【0131】
本開示において、「含む(include)」、「含んでいる(including)」及びこれらの変形が使用されている場合、これらの用語は、用語「備える(comprising)」と同様に、包括的であることが意図される。さらに、本開示において使用されている用語「又は(or)」は、排他的論理和ではないことが意図される。
【0132】
本開示の「A/B」は、「A及びBの少なくとも一方」を意味してもよい。
【0133】
本開示において、例えば、英語でのa, an及びtheのように、翻訳によって冠詞が追加された場合、本開示は、これらの冠詞の後に続く名詞が複数形であることを含んでもよい。
【0134】
以上、本開示に係る発明について詳細に説明したが、当業者にとっては、本開示に係る発明が本開示中に説明した実施形態に限定されないということは明らかである。本開示に係る発明は、特許請求の範囲の記載に基づいて定まる発明の趣旨及び範囲を逸脱することなく修正及び変更態様として実施することができる。したがって、本開示の記載は、例示説明を目的とし、本開示に係る発明に対して何ら制限的な意味をもたらさない。