ব্লুটুথ (বিটি) লো এনার্জি (এলই) অডিও হেড ট্র্যাকিং (এইচটি) ডেটার জন্য অ্যাসিঙ্ক্রোনাস সংযোগ-ভিত্তিক লজিক্যাল (এলই-এসিএল) এবং আইসোক্রোনাস (এলই-আইএসও) লজিক্যাল ট্রান্সপোর্ট মেকানিজম চালু করে।
LE-ACL বা LE-ISO পরিবহন ব্যবস্থা ব্যবহার করা হয়েছে কিনা তার উপর ভিত্তি করে Android 15 HT-এর জন্য লেটেন্সি মোড সামঞ্জস্যের জন্য সমর্থন প্রদান করে।
হোস্ট এবং হেডসেট দ্বারা সমর্থিত LE-ACL বা LE-ISO ট্রান্সপোর্ট মেকানিজম আবিষ্কার এবং নির্বাচন করতে অডিও ফ্রেমওয়ার্ক, অডিও HAL এবং ব্লুটুথ স্ট্যাক কীভাবে ইন্টারঅ্যাক্ট করে এই পৃষ্ঠাটি বর্ণনা করে৷
LE-ACL এবং LE-ISO-এর জন্য সমর্থন
Android 15-এ LE-ACL এবং LE-ISO ট্রান্সপোর্ট মেকানিজমের জন্য একটি ভেন্ডর-সংজ্ঞায়িত সিস্টেম প্রপার্টি , অডিও HAL লেটেন্সি মোড এবং স্থানিক সংযোগ মোড ব্যবহার করে সমর্থন অন্তর্ভুক্ত রয়েছে।
সিস্টেম সম্পত্তি
ফোন বিক্রেতা বাস্তবায়ন bluetooth.core.le.dsa_transport_preference
সিস্টেম বৈশিষ্ট্যে সমর্থিত পরিবহন ব্যবস্থা তালিকাভুক্ত করে। মান হল স্ট্রিংগুলির একটি কমা-বিভক্ত তালিকা, সমর্থিত পরিবহনগুলিকে পছন্দের ক্রমে তালিকাভুক্ত করে:
-
le-acl
: LE-ACL পরিবহন, যখন জড়তা পরিমাপ ইউনিট (IMU) ডেটা সেন্সর স্ট্যাকের মাধ্যমে রিপোর্ট করা হয়। -
iso-hw
: ব্লুটুথ কন্ট্রোলার থেকে সরাসরি অডিও ডিএসপিতে স্থানিক যন্ত্রে এইচটি ডেটা টানেল করার ক্ষমতা সহ ISO পরিবহন। -
iso-sw
: টানেলিং ক্ষমতা ছাড়াই ISO পরিবহন, যখন IMU ডেটা সেন্সর স্ট্যাকের মাধ্যমে রিপোর্ট করা হয়।
লেটেন্সি মোড
BT LE অডিওর ক্ষেত্রে, অডিও HAL এবং অডিও ফ্রেমওয়ার্কের সমর্থিত লেটেন্সি মোডগুলি নির্দেশ করার জন্য BT স্ট্যাকের প্রক্রিয়াটি BT ক্লাসিক (A2DP) এর জন্য সংজ্ঞায়িত মতই। অডিও HAL বর্তমানে নির্বাচিত অডিও ডিভাইস অনুযায়ী সমর্থিত লেটেন্সি মোড রিপোর্ট করে।
A2DP বাস্তবায়ন শুধুমাত্র FREE
এবং LOW_LATENCY
মোড সমর্থন করে।
বিপরীতে, BT LE অডিওর জন্য, LE-ACL এবং LE-ISO পরিবহন ব্যবস্থার সংযোজন সমর্থন করার জন্য অডিও HAL-এ নিম্নলিখিত লেটেন্সি মোডগুলি সংজ্ঞায়িত করা হয়েছে:
FREE
: এই মানটি নির্দেশ করে যে লেটেন্সিতে কোনো নির্দিষ্ট সীমাবদ্ধতা নেই। এই মোডটি ব্যবহার করা হয় যখন কম লেটেন্সি সমর্থিত হয় না (HAL দ্বারা নির্দেশিত), বা যখন HT সক্রিয় না থাকে (ফ্রেমওয়ার্ক দ্বারা নির্দেশিত)।LOW
: এই মানটি HT অপারেশনের সাথে সামঞ্জস্যপূর্ণ তুলনামূলকভাবে কম লেটেন্সি (যেমন, 100 ms এর কম) নির্দেশ করে৷ এই মোডটি ব্যবহার করা হয় যখন কম লেটেন্সি সমর্থিত হয় এবং ACL প্রোটোকলের (HAL দ্বারা নির্দেশিত) উপর HID জানানো হয়, অথবা যখন HT সক্রিয় থাকে এবং অন্য কোনও কম লেটেন্সি মোড উপলব্ধ থাকে না (ফ্রেমওয়ার্ক দ্বারা নির্দেশিত)।DYNAMIC_SPATIAL_AUDIO_SOFTWARE
: নিম্নলিখিত শর্তগুলির মধ্যে একটি পূরণ হলে এই মোডটি ব্যবহার করা হয়:- যখন কম লেটেন্সি সমর্থিত হয়, তখন এইচআইডি আইএসও প্রোটোকলের মাধ্যমে জানানো হয়, এবং এইচআইডিকে স্থানিক প্রভাব ইঞ্জিনে টানেল করা যায় না (এইচএএল দ্বারা নির্দেশিত)।
- যখন HT সক্রিয় থাকে এবং ISO প্রোটোকল ব্যবহার করা হয় যখন অডিও ফ্রেমওয়ার্ক স্থানিক প্রভাব ইঞ্জিনে HID ডেটা প্রদান করে (ফ্রেমওয়ার্ক দ্বারা নির্দেশিত)।
এই মোডে, ফ্রেমওয়ার্কের HT কম্পিউটিং লাইব্রেরি IMU ডেটার সমস্ত প্রিপ্রসেসিং করে এবং ফোন সেন্সর দ্বারা নির্দেশিত ফোনের গতিবিধির সাথে পুনর্মিলন করে।
DYNAMIC_SPATIAL_AUDIO_HARDWARE
: নিম্নলিখিত শর্তগুলির মধ্যে একটি পূরণ হলে এই মোডটি ব্যবহার করা হয়:- যখন কম লেটেন্সি সমর্থিত হয়, তখন এইচআইডি আইএসও প্রোটোকলের মাধ্যমে জানানো হয় এবং এইচআইডিকে স্থানিক প্রভাব ইঞ্জিনে টানেল করা যেতে পারে (এইচএএল দ্বারা নির্দেশিত)।
- যখন HT সক্রিয় এবং ISO প্রোটোকল ব্যবহার করা হয় যখন HID ডেটা স্থানিক প্রভাব ইঞ্জিনে টানেল করা হয় (ফ্রেমওয়ার্ক দ্বারা নির্দেশিত)।
এই মোডে, স্থানিক প্রভাব ইঞ্জিন সরাসরি BT স্ট্যাক বা BT কন্ট্রোলার থেকে আনপ্রসেসড IMU ডেটা গ্রহণ করে। স্থানিক প্রভাব বাস্তবায়ন IMU ডেটার সমস্ত প্রিপ্রসেসিং এবং ফোন সেন্সর দ্বারা নির্দেশিত ফোনের গতিবিধির সাথে পুনর্মিলন করে।
লেটেন্সি মোড এনামগুলিকে Spatializer.cpp
এ bluetooth.core.le.dsa_transport_preference
সিস্টেম সম্পত্তিতে ম্যাপ করা হয়েছে।
স্থানিক সমর্থন
অডিও নীতি পরিষেবার স্থানিক নিয়ন্ত্রণকারী LE অডিওর উপর HT পরিবহন প্রোটোকল নির্বাচন নিয়ন্ত্রণ করে৷ স্থানিক প্রভাব ইঞ্জিন বাস্তবায়ন HeadTracking.ConnectionMode
সক্ষমতার সাথে HT ডেটা টানেলিং এর জন্য সমর্থন নির্দেশ করে।
সমর্থিত HT সংযোগ মোডগুলি নিম্নরূপ:
-
FRAMEWORK_PROCESSED
: অডিও ফ্রেমওয়ার্ক HAL কে হেড-টু-স্টেজ ভেক্টর ফরম্যাটে প্রি-প্রসেসড IMU ডেটা প্রদান করে। এই ডিফল্ট মোড BT ক্লাসিকের সাথে বর্তমান মোডের সাথে মিলে যায়। -
DIRECT_TO_SENSOR_SW
: স্থানিক প্রভাব ইঞ্জিন সরাসরি সেন্সর সফ্টওয়্যার স্ট্যাকের মাধ্যমে সেন্সরের সাথে সংযোগ করে। অডিও ফ্রেমওয়ার্ক শুধুমাত্র সেন্সরের সক্রিয় অবস্থা নিয়ন্ত্রণ করে। সফ্টওয়্যার বাস্তবায়ন যেগুলি AOSPlibheadtracking
IMU ডেটা প্রিপ্রসেসিং বা DSP অফলোড করা স্থানিক প্রয়োগগুলি ব্যবহার করে না সেগুলিDIRECT_TO_SENSOR_SW
মোড ব্যবহার করতে পারে৷ -
DIRECT_TO_SENSOR_TUNNEL
: স্থানিক প্রভাব ইঞ্জিন সরাসরি হার্ডওয়্যার টানেলিংয়ের মাধ্যমে সেন্সরের সাথে সংযোগ করে। অডিও ফ্রেমওয়ার্ক শুধুমাত্র সেন্সরের সক্রিয় অবস্থা নিয়ন্ত্রণ করে। DSP অফলোড করা স্থানিক প্রয়োগগুলিDIRECT_TO_SENSOR_TUNNEL
মোড ব্যবহার করতে পারে৷
লেটেন্সি মোড নির্বাচন
ফ্রেমওয়ার্ক HAL দ্বারা রিপোর্ট করা সমর্থিত লেটেন্সি মোডের তালিকা থেকে একটি লেটেন্সি মোড নির্বাচন করে। লেটেন্সি মোডটি বর্তমান এইচটি সক্ষম অবস্থা, বর্তমান স্থানিক সমর্থন এবং বিক্রেতা-নির্দিষ্ট সিস্টেম সম্পত্তির উপর ভিত্তি করে সেট করা হয়েছে যা পরিবহন প্রক্রিয়াগুলির মধ্যে একটি অগ্রাধিকার আদেশ স্থাপন করে।
ফ্রেমওয়ার্ক লেটেন্সি মোড নির্বাচন করতে selectHeadtrackingConnectionMode_l
এ নিম্নলিখিত প্রক্রিয়া ব্যবহার করে:
- ফ্রেমওয়ার্ক
bluetooth.core.le.dsa_transport_preference
সিস্টেম বৈশিষ্ট্য থেকে পরিবহন পছন্দ লোড করে। - অডিও HAL দ্বারা রিপোর্ট করা সমর্থিত লেটেন্সি মোডগুলি ফিল্টার করা হয় এবং ধাপ 1 এ লোড করা তালিকার বিপরীতে অর্ডার করা হয়।
- যদি সর্বোচ্চ অগ্রাধিকার কম লেটেন্সি মোড
iso-hw
হয় এবং স্থানিক প্রয়োগকারী সরাসরি সেন্সর সংযোগ সমর্থন করে (অর্থাৎ,DIRECT_TO_SENSOR_SW
বাDIRECT_TO_SENSOR_TUNNEL
স্থানিক ব্যবস্থায় সেট করা আছে), লেটেন্সি মোডটিDYNAMIC_SPATIAL_AUDIO_HARDWARE
এ সেট করা হয়েছে৷ যদি সর্বোচ্চ অগ্রাধিকার কম লেটেন্সি মোড
iso-hw
হয় এবং স্থানিক প্রয়োগকারী সরাসরি সেন্সর সংযোগ সমর্থন না করে (DIRECT_TO_SENSOR_SW
বাDIRECT_TO_SENSOR_TUNNEL
স্থানিক ব্যবস্থায় সেট করা নেই), পরবর্তী পছন্দের মোডটি (যা হয়iso-sw
le-acl
) লেটেন্সি মোড নির্ধারণ করে (যা হয়DYNAMIC_SPATIAL_AUDIO_SOFTWARE
বাLOW
)।যদি পরবর্তী পছন্দের মোডটি নির্দিষ্ট করা না থাকে, তাহলে সিস্টেমটি একটি পণ্য কনফিগারেশন ত্রুটি রিপোর্ট করে।