BluetoothAVDTPプロトコル



Bluetooth Avdtp Protocol



AVDTP(オーディオ/ビデオ配信トランスポートプロトコル)の概要

AVDTPプロトコルは、オーディオまたはビデオ配信用の送信プロトコル、または略してAVDTPを指定します。これは、Bluetoothを介して無線でストリーミングオーディオまたはビデオを送信します。オーディオおよびビデオデータストリームには、同期されたデータ送信機能が必要です。 A / V配信伝送プロトコルの伝送メカニズムとメッセージ形式は、「RFC 3350」で定義されているRTPに基づいており、RTPデータ伝送プロトコル(RTP)とRTP制御プロトコル(サーバー)の2つの主要なプロトコルで構成されています。

次の図に、プロトコルスタック全体でのAVDTPの構造を示します。



一般的な用語と定義



まず、契約で一般的に使用されるいくつかの用語と定義の簡単な説明:

  1. ストリーム:2つのピアツーピアデバイス間でメディアデータをストリーミング
  2. ソース(SRC)とシンク(SNK):アプリケーション層に依存する2つの役割、オーディオソースとレシーバー。両方の役割はA2DPで定義されています。
  3. イニシエーター(INT)およびアクセプター(ACP):スタートアッププロセスのデバイスがイニシエーターとして機能し、スタートアップを受け入れるデバイスがレシーバーです。 INTとACPは、上位層アプリケーションによって定義されたSRCとSNKから独立しており、基盤となるL2CAPの役割に対応できないことに注意してください。
  4. アプリケーションおよびトランスポートサービス機能:アプリケーションサービスおよびトランスポートサービスの機能。ネゴシエーション、音源機器のコーデック構成、コンテンツ保護システムなどのアプリケーションサービス機能。データパケットのセグメンテーションと再構成、データパケットの損失防止検出などの伝送サービス機能。
  5. サービス、サービスカテゴリ、およびサービスパラメータ:サービス、サービスカテゴリ、およびサービスパラメータ
  6. メディアパケット、リカバリパケット、およびレポートパケット:ストリーミングメディアパケット、データリカバリパケット、レポートパケット
  7. ストリームエンドポイント(SEP):ストリームエンドポイント。ストリームをネゴシエートするために、利用可能な送信サービスとA / V機能を公開するアプリケーションです。
  8. ストリームコンテキスト(SC):ストリーミングコンテキスト。選択されたサービス、パラメータ、伝送チャネル割り当てなど、フロー設定プロセス中のフローの共通の理解を実現するための2つのピアデバイスの構成を指します。
  9. ストリームハンドル(SH):ストリームハンドル。 SRCとSNKの間の接続が確立された後に割り当てられる独立した識別子。これは、ストリームへの上位層の参照を表します。
  10. ストリームエンドポイント識別子(SEID):ストリームエンドポイント識別子、特定のデバイスへのクロスデバイス参照、参照は物事を通知するために使用されます
  11. ストリームエンドポイント状態:ストリームエンドポイント状態
  12. トランスポートセッション:トランスポートセッション。 A / Vトランスポート層内で、ペアのAVDTPエンティティ間で、ストリームを1つ、2つ、または3つ以上のトランスポートセッションに分割できます。
  13. トランスポートセッション識別子(TSID):トランスポートセッション識別子。送信セッションへの参照を表します。
  14. トランスポートチャネル:トランスポートチャネル。伝送チャネルは、常にL2CAPチャネルに対応するA / V伝送層の基盤となるベアラプログラムの抽象化を指します。
  15. トランスポートチャネル識別子(TCID):トランスポートチャネル識別子。伝送チャネルへの参照を表します。
  16. 将来の追加のために予約済み(RFA):将来の追加のために予約済み
  17. 将来の定義のために予約済み(RFD):将来の定義のために予約済み
  18. 禁止(F):無効

A / Vアーキテクチャ:

AVDTPプロトコルアーキテクチャ( 建築 )



上の図のAVDTPプロトコルの部分は、シグナリング、フロー管理、データリカバリ、および適応層の4つの機能ブロックに分割されています。同時に、図の9つの数字は、次の図に示すように、9種類のインターフェイス機能を表しています。

ストリーミングエンドポイントアーキテクチャ

A / Vデバイスは、1つ以上のストリーミングリソースを提供できます。これは、メディアストリームのソースまたはレシーバーを意味します。概念的には、フローのエンドポイント(ソースまたはシンク)は、デバイスのアプリケーション層にあります。ただし、エンドポイントはAVDTPレイヤーで表され、ネゴシエーションと操作フローに使用されます。図に示すように、AVDTPは、抽象ストリームエンドポイント(SEP)の概念を使用して、デバイスのリソースと機能を表します。

たとえば、デバイスAにuとvのラベルが付いた2つのSEPがあるとします。ここで、SEP uはビデオレシーバーを表し、SEPvはオーディオレシーバーを表します。デバイスBには、オーディオソースを表すx、y、zのラベルが付いた3つのSEPがあります。デバイスAは、デバイスBのオーディオソースとのオーディオストリーミング接続を確立する必要があります。

デバイスAとデバイスBはそれぞれ、SEPのローカルストリームエンドポイント識別子(SEID、セクション4.10を参照)を維持します。最初のデバイスAは、AVDTPサービスを使用してピアデバイスのリソースを検出します。このプロセスから、デバイスAはデバイスBの3つのSEP(デバイスBローカル)のSEIDとメディアタイプ(ここではオーディオソース)を学習します。続編では、デバイスAは別のAVDTPサービスを使用して、 SEPzなどのリモートSEPの1つ。このトランザクションでは、デバイスBは、デバイスBが以前に提示したSEIDによってSEPzを参照します。 Bによって公開されているすべての機能を理解し、それを自身のローカル機能と比較した後、デバイスAは別のAVDTPサービスを使用してストリーミング接続を構成できます。サービスの選択方法の評価と決定は、デバイスAのアプリケーション層で行われるため、AVDTPの外部で行われることに注意してください。ローカルSEPv(独自のローカルSEIDを持つ)があり、これはマッチング機能を備えているため、暗黙的に想定されているデバイスBのSEPzに接続できます。したがって、デバイスAのAVDTPエンティティはローカルSEP vの機能を知る必要はありません。ただし、構成プロセスを開始することにより、デバイスAはローカルSEPに一致する機能があることを暗黙的に認識し、ローカルSEP vをマッピングします(ローカルSEIDを使用)からリモートSEP z(リモートSEIDを使用)に接続するため、両方のデバイスは、将来の相互参照のためにそれぞれのリモートSEIDを認識します。構成プロセスが正常に終了したら、デバイスAとデバイスBの両方のリソースを割り当てる(ロックする)必要があります。デバイスAのSEPvもデバイスBのSEPzも、たとえば、 3つのデバイス。

両方のデバイスの概念は異なりますが、それらの関係は非対称のクライアントサーバーモデルに従い、アプリケーションはAVDTPサービスを使用してリモートデバイスのストリーミングリソースを管理することに注意してください。デバイスBはそのすべての機能をデバイスAに開示しますが、デバイスAはその機能をデバイスBに開示しません。後続のシグナリングプロセスでは、ストリーム接続はリモートデバイスのSEIDによって参照される必要があります。デバイスAには、ローカルSEP(リソース)と相互運用可能なストリーミング接続を確立するための十分な容量が必要です。ステートマシンは各ストリームターミネーションポイントに属し、AVDTPレイヤーに存在します。アプリケーションにとって重要なすべての状態変化は、上位インターフェイスを介して公開する必要があります。各アプリケーションでサポートされるコーデックは、個別のストリームエンドポイントを使用する必要がありますが、同じコーデックに複数のストリームエンドポイントを含めることができます。

ステートマシンは各ストリームエンドポイントに属し、AVDTPレイヤーに存在します。アプリケーションにとって重要なすべての状態変化は、上位インターフェースを介して公開する必要があります。アプリケーションでサポートされる各コーデックは、個別のストリームエンドポイントを使用する必要がありますが、同じコーデックに複数のストリームエンドポイントを含めることができます。