BLEまたはクラシックBluetooth 4.0を使用してビデオをストリーミングしますか?


10

BLEは100Kbpsのデータペイロードしか持っていないので、Bluetooth Low Energyを使用してライブビデオをストリーミングできるかどうか疑問に思っていましたか?

クラシックBluetooth 4.0には2Mbpsのデータペイロードがあり、ビデオの送信が容易になりますが、総電力に関心があるため、BLEを実装したいと考えています。BLEを使用してビデオをストリーミングしても同じ結果が得られますか?


1
この質問は、2M(bps)PHYを備えたBLEコントローラー用のBluetooth 5では古くなっています。
ZX9 2017

回答:


12

BLEは中程度の帯域幅のストリーミング(オーディオまたはビデオ)にも非常に適していません。これは、スリープ時間の長い、少数の小さなデータパケットの転送用に設計されているためです。これが、「低電力」ではなく「低エネルギー」と呼ばれる理由です。競合する標準に関して、小さなパケットのビットあたりのピコジュールの量を減らします。他の標準は、無線の効率が悪いためではなく、少なくとも無線トラフィックに比較的大きな変動がある場合でも受信機の電源が常にオンになっているため、および転送されたビットのかなりの部分がペイロードではなくオーバーヘッドであるため、主に多くの電力を使用します-プロトコルヘッダー、チェックサム、さらに空白スペース。BLEは、これらの不要な電力消費のほとんどを排除します。でも気にしてください トランシーバーがアクティブなときのトランシーバーの電力使用を魔法のように改善します。そして、ビデオ転送を行うとき、トランシーバーは常に電源が入っています。BLEの最大の利点を失います。

この設計上の選択は、あなたが好きなように少しのと本質的にオーバーヘッド削減するだけでなく、それは持っていないということになります任意のストリーミング機能が内蔵されたネイティブにパケットの再結合、遅延確認応答および非同期転送のような。実際には何も組み込まれていません。BLEは、nRF24とTI CC2x00を除いて、ワイヤレスインターフェイスに到達するのと同じくらい生のままです。その結果、ソフトウェアでこれを行う必要があります(マイクロコントローラーまたはユーザーデバイスのいずれかで)。これは、Bluetooth 3.0 EDRなどのハードウェア機能を備えた専用プロトコルを使用する場合よりも、はるかに多くのエネルギーを使用します。 Wi-Fi。

これにより、オーディオタイプのデータレート以上に入ると、Bluetooth Low Energyは実装によってはBluetooth 3.0よりも約2倍効率が悪くなり、メガビット範囲に入ると実質的にWiFiよりも効率が悪い。これがWiFiが存在する理由です。現在、両方の規格のトランシーバーは非常に同等ですが、それは間違いなく無線範囲です。WiFiにはオプションのMIMOと多様性があります。

したがって、少なくともビデオでは、Bluetoothが課す非常に制限された帯域幅と範囲の制限を考慮しない場合でも、この方法では低電力ビデオ転送の目標を達成できない場合があります。


8

まあ、100kbpsなら、低品質のビデオをポストスタンプのサイズでストリーミングできるかもしれません:-)

精度がなければ、H264で30fpsのHD(フルHDでもない)が必要だと想像します。平均モーション(ファクター2)で、おおよそのビットレートは次のようになります。

(1280px * 720px)* 30fps * 2 * 0.07〜= 3800kbps

したがって、これを38倍に減らす必要があります(少なくとも!)。

約320x200 @ 15fpsで落ち着いても、まだ少し上です(理論的な帯域幅で、期待は少ない)。


1
平均運動係数とは何ですか?そして、0.07の値は何ですか?
m.Alin

@ m.Alinおそらく.07はオーディオですか?
ZX9 2017

0

すべてのテストは2000オクテット/秒未満で終了しました

前提条件:

  • Android:Nexus Gallaxy Tab 7 Android 6.0.1(GATTクライアント)
  • Linux:R-PI + BCM20702A0(GATTサーバー)
  • NUCLEO-F411RE:BlueNRG(GATTサーバー)

Android <-> Linux&Bunget、Android <-> Linux&Bleno、Android <-> ST-Micro Nucleus + blueNRGの間で行ったすべてのテスト。LinuxおよびNUCLEOはGATTサーバーを実行しています。Androidは主にGATTクライアントを実行しています。

  • Android-> GATTサーバーNOTIFICATION / WRITE NO RESPONSEは、13ミリ秒を超えて送信することはできません。その後、13ミリ秒を超えるパケット損失が発生しました。

  • サーバー-> Android NOTIFICATION / WRITE NO RESPONSEは15ミリ秒を超えて送信できない

  • READ INDICATORの両側。15..20ミリ秒より頻繁に呼び出すことはできません。

これにより、最大1000ms / 13ms-> 77回/秒、20バイト= 1500オクテット/秒になります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.