(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-12-26
(54)【発明の名称】自動車用オーディオシステムにおけるサラウンドサウンド
(51)【国際特許分類】
H04S 7/00 20060101AFI20241219BHJP
【FI】
H04S7/00 300
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2024535595
(86)(22)【出願日】2022-12-14
(85)【翻訳文提出日】2024-08-07
(86)【国際出願番号】 US2022081585
(87)【国際公開番号】W WO2023114865
(87)【国際公開日】2023-06-22
(32)【優先日】2021-12-15
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】515301041
【氏名又は名称】アティエヴァ、インコーポレイテッド
(74)【代理人】
【識別番号】110000877
【氏名又は名称】弁理士法人RYUKA国際特許事務所
(72)【発明者】
【氏名】パル、ヴィナイ クマル
【テーマコード(参考)】
5D162
【Fターム(参考)】
5D162AA05
5D162CB17
5D162CC04
5D162DA51
5D162EG02
(57)【要約】
自動車用オーディオシステムをサラウンドサウンドをサポートするように適合させる方法は:パススルーモードをプレイバックモードとして指定するオーディオトラックオブジェクトの作成のためのアプリケーションプログラムを構成する段階、ここでサラウンドサウンドのために構成されていないオペレーティングシステム下で動作するように、前記アプリケーションプログラムがインストールされる;前記オペレーティングシステムのミキサを通り過ぎるバイパスを有して前記オペレーティングシステムのフレームワークを構成する段階、ここで前記バイパスは、前記オーディオトラックオブジェクトのサラウンドサウンドデータが前記ミキサをバイパスすることを可能にする;および前記オペレーティングシステムから受信された前記サラウンドサウンドデータのための別個のチャネルを有してハードウェア抽象化層を構成する段階、ここで前記ハードウェア抽象化層は、前記処理されたサラウンドサウンドデータをデコーダへ提供する前に、前記サラウンドサウンドデータを処理する、を備える。
【特許請求の範囲】
【請求項1】
自動車用オーディオシステムをサラウンドサウンドをサポートするように適合させる方法であって、前記方法は:
パススルーモードをプレイバックモードとして指定するオーディオトラックオブジェクトの作成のためのアプリケーションプログラムを構成する段階、ここでサラウンドサウンドのために構成されていないオペレーティングシステム下で動作するように、前記アプリケーションプログラムがインストールされる;
前記オペレーティングシステムのミキサを通り過ぎるバイパスを有して前記オペレーティングシステムのフレームワークを構成する段階、ここで前記バイパスは、前記オーディオトラックオブジェクトのサラウンドサウンドデータが前記ミキサをバイパスすることを可能にする;および
前記オペレーティングシステムから受信された前記サラウンドサウンドデータのための別個のチャネルを有してハードウェア抽象化層を構成する段階、ここで前記ハードウェア抽象化層は、処理された前記サラウンドサウンドデータをデコーダへ提供する前に、前記サラウンドサウンドデータを処理する、
を備える、方法。
【請求項2】
前記アプリケーションプログラムを構成する段階は、前記パススルーモードを前記プレイバックモードとして指定するためのサポートを追加する段階を有する、請求項1に記載の方法。
【請求項3】
前記アプリケーションプログラムは、前記オペレーティングシステムの前記フレームワークがサラウンドサウンドプレイバックをサポートしているというサラウンドサウンド出力を提供するための条件を有し、前記バイパスを有して前記フレームワークを構成する段階により前記フレームワークは前記条件を満たす、請求項1または2に記載の方法。
【請求項4】
前記別個のチャネルがバッファ管理を促進する、請求項1または2に記載の方法。
【請求項5】
前記別個のチャネルがタイムスタンプ計算を促進する、請求項1または2に記載の方法。
【請求項6】
少なくとも前記サラウンドサウンドデータの処理は第1のハードウェア基板を使用して実行され、少なくともデコードは前記第1のハードウェア基板とは別個の第2のハードウェア基板を使用して実行され、前記ハードウェア抽象化層は前記タイムスタンプ計算を使用してフレーム推定を前記アプリケーションプログラムに提供する、請求項5に記載の方法。
【請求項7】
車両の自動車用オーディオシステム上でサラウンドサウンドを再生する方法であって、前記方法は:
前記自動車用オーディオシステムのアプリケーションプログラムを使用して、パススルーモードをプレイバックモードとして指定するオーディオトラックオブジェクトを作成する段階、ここでサラウンドサウンドのために構成されていないオペレーティングシステム下で動作するように、前記アプリケーションプログラムがインストールされる;
前記オペレーティングシステムのフレームワーク内で、前記オーディオトラックオブジェクトのサラウンドサウンドデータが前記オペレーティングシステムのミキサをバイパスする段階;
前記自動車用オーディオシステムのハードウェア抽象化層において前記サラウンドサウンドデータを処理する段階;
前記処理されたサラウンドサウンドデータをデコーダへ提供してデコードされたサラウンドサウンド信号を生成する段階;および
前記デコードされたサラウンドサウンド信号を、前記車両の複数のスピーカのうちの少なくとも1つに提供する段階
を備える、方法。
【請求項8】
前記オーディオトラックオブジェクトを作成する段階、前記ミキサをバイパスする段階、および前記サラウンドサウンドデータを処理する段階は、第1のハードウェア基板を使用して実行され、デコードする段階および前記デコードされたサラウンドサウンド信号を提供する段階は、前記第1のハードウェア基板とは別個の第2のハードウェア基板を使用して実行される、請求項7に記載の方法。
【請求項9】
前記アプリケーションプログラムは、前記オペレーティングシステムの前記フレームワークがサラウンドサウンドプレイバックをサポートしているというサラウンドサウンド出力を提供するための条件を有し、前記ミキサをバイパスする前記段階により前記フレームワークは前記条件を満たす、請求項7または8に記載の方法。
【請求項10】
前記サラウンドサウンドデータを処理する前記段階は、バッファ管理を有する、請求項7または8に記載の方法。
【請求項11】
前記サラウンドサウンドデータを処理する前記段階は、タイムスタンプ計算を有する、請求項7または8に記載の方法。
【請求項12】
少なくとも前記サラウンドサウンドデータを処理する前記段階は第1のハードウェア基板を使用して実行され、少なくともデコードは前記第1のハードウェア基板とは別個の第2のハードウェア基板を使用して実行され、前記方法は、前記タイムスタンプ計算を使用してフレーム推定を前記アプリケーションプログラムに提供する段階を更に備える、請求項11に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
[関連出願の相互参照]
本出願は、2021年12月15日に提出され、「SURROUND SOUND IN AUTOMOTIVE AUDIO SYSTEM」と題する米国特許出願第63/265,451号の優先権を主張し、その開示が全体として本明細書に参照によって組み込まれる。
【0002】
本開示は、自動車用オーディオシステムにおけるサラウンドサウンドを提供することに関する。
【背景技術】
【0003】
車両は数十年の間オーディオシステムを有してきたが、それらは一般に、公共の会場、例えば、映画館、または急速に発展しているハイエンド家庭用サラウンドサウンドシステムの分野において使用される最も洗練されたシステムに近いリスニング体験をもたらすことはできなかった。しかしながら、車両技術の発展および複雑化によって、この点において競争環境は変化した。第1に、今日の車両は、所有者または他の乗客の、現代の車両に乗車する体験がどのようなものであるかべきかの期待を高め得る著しくより強力なコンピュータ処理リソースを提供されている。第2に、電気パワートレインの拡散および空気力学的設計の発展により、車両は走行中に著しく静かになっており、これが搭乗者が第1級のオーディオ性能を享受する機会を増やしている。
【発明の概要】
【0004】
第1の態様において、自動車用オーディオシステムをサラウンドサウンドをサポートするように適合させる方法は:パススルーモードをプレイバックモードとして指定するオーディオトラックオブジェクトの作成のためのアプリケーションプログラムを構成する段階、ここでサラウンドサウンドのために構成されていないオペレーティングシステム下で動作するように、前記アプリケーションプログラムがインストールされる;前記オペレーティングシステムのミキサを通り過ぎるバイパスを有して前記オペレーティングシステムのフレームワークを構成する段階、ここで前記バイパスは、前記オーディオトラックオブジェクトのサラウンドサウンドデータが前記ミキサをバイパスすることを可能にする;および前記オペレーティングシステムから受信された前記サラウンドサウンドデータのための別個のチャネルを有してハードウェア抽象化層を構成する段階、ここで前記ハードウェア抽象化層は、前記処理されたサラウンドサウンドデータをデコーダへ提供する前に、前記サラウンドサウンドデータを処理する、を備える。
【0005】
実装は、下記の特徴のうちのいずれかまたは全てを含むことができる。前記アプリケーションプログラムを構成する段階は、前記パススルーモードを前記プレイバックモードとして指定するためのサポートを追加する段階を有する。前記アプリケーションプログラムは、前記オペレーティングシステムの前記フレームワークがサラウンドサウンドプレイバックをサポートしているというサラウンドサウンド出力を提供するための条件を有し、前記バイパスを有して前記フレームワークを構成する段階により前記フレームワークは前記条件を満たす。前記別個のチャネルがバッファ管理を促進する。前記別個のチャネルがタイムスタンプ計算を促進する。少なくとも前記サラウンドサウンドデータの処理は第1のハードウェア基板を使用して実行され、少なくともデコードは前記第1のハードウェア基板とは別個の第2のハードウェア基板を使用して実行され、前記ハードウェア抽象化層は前記タイムスタンプ計算を使用してフレーム推定を前記アプリケーションプログラムに提供する。
【0006】
第2の態様において、車両の自動車用オーディオシステム上でサラウンドサウンドを再生する方法は:前記自動車用オーディオシステムのアプリケーションプログラムを使用して、パススルーモードをプレイバックモードとして指定するオーディオトラックオブジェクトを作成する段階、ここでサラウンドサウンドのために構成されていないオペレーティングシステム下で動作するように、前記アプリケーションプログラムがインストールされる;前記オペレーティングシステムのフレームワーク内で、前記オーディオトラックオブジェクトのサラウンドサウンドデータが前記オペレーティングシステムのミキサをバイパスする段階;前記自動車用オーディオシステムのハードウェア抽象化層において前記サラウンドサウンドデータを処理する段階;前記処理されたサラウンドサウンドデータをデコーダへ提供してデコードされたサラウンドサウンド信号を生成する段階;および前記デコードされたサラウンドサウンド信号を、前記車両の複数のスピーカのうちの少なくとも1つに提供する段階を備える。
【0007】
実装は、下記の特徴のうちのいずれかまたは全てを含むことができる。前記オーディオトラックオブジェクトの前記作成、前記ミキサをバイパスする前記段階、および前記サラウンドサウンドデータを処理する前記段階は、第1のハードウェア基板を使用して実行され、デコードする前記段階および前記デコードされたサラウンドサウンド信号の前記提供は、前記第1のハードウェア基板とは別個の第2のハードウェア基板を使用して実行される。前記アプリケーションプログラムは、前記オペレーティングシステムの前記フレームワークがサラウンドサウンドプレイバックをサポートしているというサラウンドサウンド出力を提供するための条件を有し、前記ミキサをバイパスする前記段階により前記フレームワークは前記条件を満たす。前記サラウンドサウンドデータを処理する前記段階は、バッファ管理を有する。前記サラウンドサウンドデータを処理する前記段階は、タイムスタンプ計算を有する。少なくとも前記サラウンドサウンドデータを処理する前記段階は第1のハードウェア基板を使用して実行され、少なくともデコードは前記第1のハードウェア基板とは別個の第2のハードウェア基板を使用して実行され、前記方法は、前記タイムスタンプ計算を使用してフレーム推定を前記アプリケーションプログラムに提供する段階を更に備える。
【図面の簡単な説明】
【0008】
【
図1】車両における没入型オーディオ体験をもたらし得るオーディオシステムの1つの例のブロック図である。
【0009】
【
図2】サラウンドサウンドをサポートするオーディオシステムの1つの例の図である。
【0010】
【
図3】サラウンドサウンドをサポートするように自動車用オーディオシステムを適合させる例示的な方法のフローチャートである。
【0011】
【
図4】車両の自動車用オーディオシステム上でサラウンドサウンドを再生する例示的な方法のフローチャートである。
【0012】
【
図5】コンピュータシステムの例示的なアーキテクチャを示す。
【0013】
様々な図面における同様の参照符号または番号は、同様の要素を示す。
【発明を実施するための形態】
【0014】
本開示は、自動車用オーディオシステム内にサラウンドサウンドを提供するシステムおよび技法の例を与える。
【0015】
本明細書における例は、車両に言及する。車両は、乗客または積荷、またはその両方を輸送する機械である。車両は、少なくとも1つのタイプの燃料、または他のエネルギー源(例えば、電気)を使用する1つまたは複数のモータを有し得る。車両の例は、限定されないが、車、トラック、およびバスを含む。車輪の数は複数のタイプの車両の間で異なり得、車輪のうちの1つまたは複数(例えば全て)は車両の推進のために使用され得る。車両は、1人または複数人の人を収容する乗客コンパートメントを含み得る。少なくとも1人の車両の搭乗者を運転者であるとみなすことができ;この場合、様々な道具、器具または他のデバイスが運転者に提供され得る。本明細書の例において、車両によって搬送される任意の人間は、その人間が車両を運転しているか否かまたはどの程度運転しているか、またはその人間が車両を運転するための制御の全てまたはいくつかだけにアクセスを有するか否か、またはその人間が車両を運転するための制御を欠くか否かに関係なく、車両の「運転者」または「乗客」と称され得る。
【0016】
図1は、車両における没入型オーディオ体験をもたらし得るオーディオシステム100の1つの例のブロック図を示す。オーディオシステム100は、本明細書の他の箇所で説明される1つまたは複数の他の例と共に使用され得る。オーディオシステム100は、
図5を参照して下記で説明されるいくつかのまたは全ての例を使用して実装され得る。
【0017】
オーディオシステム100は、1つまたは複数のハードウェア基板を使用して実装され得る。いくつかの実装において、オーディオシステム100は、互いとは別個のハードウェア基板102およびハードウェア基板104を含む。ハードウェア基板102は、通信制御センタ(communication control center:CCC)と称され得る。ハードウェア基板102は、数例を挙げると、(例えば、車両内のヒューマン-マシンインターフェースの一部としての)ユーザインターフェース(user interface:UI)または(例えば、1つまたは複数のタイプのファイルまたはフォルダのための)オペレーティングシステムのメモリのパーティション;ステアリング制御;座席制御;および/またはシステム設定を制御するディスプレイユニットを含み得る。ハードウェア基板102および104は、少なくとも1つのバス106を使用して互いとインターフェースで接続し得る。バス106は、ストリーミングマルチメディアコンテンツの転送のための標準バスであり得る。
【0018】
いくつかの実装において、ハードウェア基板104は、スピーカ、制御部分、車両センサに接続されており、それらとインタラクトし得、および/または車両センサによって提供される速さについての車両情報または他の情報を表示し得る。例えば、ハードウェア基板104は、インタラクティブ制御センタ(interactive control center:ICC)と称され得る。ハードウェア基板104は、車両用のオーディオミキサを実行して、どのオーディオを優先するか、どのオーディオをダッキングするか、およびどのオーディオを音を出して再生するかを決定し得る。例えば、車線逸脱警告がハードウェア基板104によって生成され得る。ハードウェア基板104は、ほんの1つの例を挙げると、LINUX(登録商標)コンソールであり得る。
【0019】
オーディオシステム100は、アプリケーション層108を含み得る。いくつかの実装において、アプリケーション層108は、メディアアプリケーションおよびオプションで1つまたは複数の他のシステムアプリケーションを含み得る。例えば、アプリケーション層108は:SPOTIFYアプリケーション110、TIDALアプリケーション112、AMAZON ALEXAアプリケーション114、ナビゲーションアプリケーション116、またはラジオUIアプリケーション118のうちの1つまたは複数を含み得る。
【0020】
オーディオシステム100は、オペレーティングシステムのフレームワーク120を含み得る。複数のオペレーティングシステムのうちのいずれかが使用され得る。いくつかの実装において、オペレーティングシステムは、ANDROID(登録商標)オペレーティングシステムである。フレームワーク120は、ミキサ122を含み得る。いくつかの実装において、ミキサ122は、オペレーティングシステムによって提供される。例えば、ミキサ122は、ANDROID AUDIOFLINGER機能を使用して提供され得る。いくつかの実装において、アプリケーション層108におけるアプリケーションは、ANDROIDオペレーティングシステム下で実行されている。例えば、アプリケーション層108におけるアプリケーションは、ANDROIDオペレーティングシステムに関してexoplayerと称され得る。
【0021】
オーディオシステム100は、リアルタイムプロトコル(real time protocol:RTP)コンポーネント124を含み得る。いくつかの実装において、RTPコンポーネント124は、アプリケーション層108内の1つまたは複数のアプリケーションに、インターネットプロトコル経由でメディアストリームを提供し得る。例えば、ラジオチューナモジュール126は、RTPコンポーネント124がラジオUIアプリケーション118に提供するストリームを生成し得る。
【0022】
オーディオシステム100は、少なくともフレームワーク120に結合されているハードウェア抽象化層(hardware abstraction layer:HAL)128を含み得る。HAL128は、フレームワーク120のオペレーティングシステムによって管理されているメモリ内のパーティションを使用して実装され得る。HAL128は、少なくとも1つのデータストリームを処理コンポーネントに提供するための1つまたは複数のオープンバスパイプライン130を含み得る。例えば、処理コンポーネントは、オープンバスパイプライン130のためのストリーム処理および/またはバッファ管理を提供し得る。HAL128は、限定されないが、BLUETOOTH(登録商標)(BT)通話およびメディア処理のためのコンポーネント、オーディオポリシ構成のためのコンポーネント、ハードウェア基板104へのトリガを生成するためのコンポーネント、および/または伝送制御プロトコル(transmission control protocol:TCP)通信チャネルを提供するコンポーネントを含む1つまたは複数の他のコンポーネントを有し得る。
【0023】
ハードウェア基板104は、1つまたは複数のストリームをバス106を経由して受信する処理コンポーネント131を含み得る。いくつかの実装において、処理コンポーネント131は、ストリーム内のデータのデコードを提供し得る。例えば、DOLBY ATMOSデコーダが処理コンポーネント131内に含まれ得る。
【0024】
オーディオシステム100は、聞き手に没入型オーディオ体験を提供するために、サラウンドサウンド信号処理をサポートするように適合し得る。アプリケーション層108内のアプリケーションのうちの1つまたは複数は、サラウンドサウンドエンコードされたオーディオをサポートし得る。いくつかの実装において、TIDALアプリケーション112は、高さ次元を含むサラウンドサウンドエンコードされたデータを提供し得る。例えば、DOLBY ATMOSデータが提供され得る。1つまたは複数の他のアプリケーションは、対照的に(例えば、SPOTIFYアプリケーション110およびAMAZON ALEXAアプリケーション114)、DOLBY ATMOSオーディオデータをサポートしていない場合がある。
【0025】
サラウンドサウンドエンコードされたオーディオをサポートするアプリケーションは、関連するプラットフォームが対応するプレイバック(playback)能力をサポートしなければならないという条件で構成され得る。例えば、TIDALアプリケーション112は、DOLBY ATMOSデータストリーム(例えば、オーディオデータのデジタルコンテナ)を、これが関連するプラットフォームによってサポートされている場合のみ提供し得る。ここで、例えば、ANDROIDオペレーティングシステムはDOLBY ATMOSデータストリームを扱うためのネイティブサポートを有さない場合がある。
【0026】
1つまたは複数のカスタマイズがオーディオシステム100において提供されて、(例えば、DOLBY ATMOSオーディオストリームを使用する)サラウンドサウンドが提供され得る没入型オーディオ体験のためのサポートを提供し得る。サラウンドサウンドエンコードされたオーディオのためのアプリケーションが、対応するプレイバック能力に関するサポートの上記で言及された条件を有する場合、バイパスを提供することにより、条件を満たし得る。ここでカスタマイズ132は、アプリケーション層108内に提供され得る。いくつかの実装において、カスタマイズ132は、exoplayerライブラリを修正して、フレームワーク120内にパススループレイバックモードに関するサポートを追加し得る。java(登録商標)に関するオーディオトラックは、基本クラスである。デフォルトオーディオ同期も存在し、デフォルトオーディオ同期およびオーディオ同期の両方が、既存のexoplayerの一部であり得る。デフォルトオーディオ同期およびオーディオ同期のうちの少なくとも1つは、オーディオトラックアプリケーションプログラミングインターフェースによってオーディオトラックオブジェクトを作成し、それをプレイバックモードへと構成し得る。カスタマイズ132を使用して提供され得るプレイバックモードの例は、限定されないが、出力パススルーモードおよび出力非パススルーモードを含む。いくつかの実装において、サラウンドサウンドのプレイバックのためのオーディオトラックオブジェクト(例えば、DOLBY ATMOSストリーム)が出力パススルーモードへと構成され得る。いくつかの実装において、特定のクラスがカスタマイズ132においてexoplayerに追加されて、サラウンドサウンドデータのためのオーディオトラックオブジェクト(例えば、DOLBY ATMOSストリーム)によるパススルーをサポートし得る。
【0027】
他のカスタマイズも、パススルーモードに対する構成を促進するために行われ得る。いくつかの実装において、システムがサポートできるチャネルの数を計算するために、ユーティリティクラスがカスタマイズされ得る。システムは、例えば、出力サイズが768バイトである6つのチャネルを有し得、したがってカスタマイズ132は、6×768個のバイトがexoplayerによって送信され得ると指定し得る。
【0028】
いくつかの実装において、カスタマイズ132は、オーディオ能力を指定し得る。これは、アプリケーション層108内のアプリケーションに関して、どんなフォーマット能力がオーディオシステム100内に存在するのかを見せるために行われ得る。そのような能力は、限定されないが、AC-3(DOLBY AC-3と称される場合があるオーディオ圧縮)、拡張AC-3(EAC-3)、またはジョイントオブジェクトコーディング(joint object coding:JOC)フォーマット(例えば、EAC3-JOC)を含み得る。
【0029】
いくつかの実装において、ロード制御機能は、カスタマイズ132によって提供または拡張され得る。より多くのデータが必要であるか、またはデータが要求された場合、またはデータがフィードされている場合、ロード制御は、適切な制御または通信のために使用され得る。いくつかの実装において、下限ウォーターマークおよび上限ウォーターマークが使用され得る。データロードが下限ウォーターマークから低下するかまたはそれ未満である場合、アプリケーション(例えば、exoplayer)により多くのデータを要求するために、データモードがアップされるかまたは別様に増加され得る。データロードが上限ウォーターマークに達した場合、より多くのデータは要求されない。
【0030】
ここで、カスタマイズ134は、オペレーティングシステムのフレームワーク120内に提供され得る。カスタマイズ134は、フレームワーク120内に実装され得るミキサのバイパスを提供し得る。カスタマイズ134は、アプリケーション層108内のアプリケーションからのサラウンドサウンドストリームがフレームワーク120のいずれのオペレーティングシステム特徴を用いてもミキシングされず、むしろオーディオHAL128による処理のために(例えば、ベンダパーティションと称される場合がある)特定のパーティションへと(例えば、プレイバックモードとして出力パススルーモードを使用することによって)直接通されることを促進し得る。
【0031】
オーディオHAL128において、カスタマイズ136は、バイパスストリームがフレームワーク120内のミキサを経由して実行されないことを促進し得;むしろ、アプリケーションからのエンコードされたデータ(例えば、TIDALアプリケーション112からのDOLBY ATMOSストリーム)はHAL128によって未処理データとして受信され得る。オーディオHAL128がフレームワーク120からコンテンツを受信した場合、それは、コンテンツがサラウンドサウンドエンコードされたストリームなのか、または別のストリーム(例えば、ステレオストリーム)なのかを確認し得る。それに応じて、これらのストリームは、オーディオシステム100内で互いとは異なって処理され得る。例えば、SPOTIFYアプリケーション110からのストリームは、フレームワーク120を経由して送信され得、ミキサ122(例えばANDROID AUDIOFLINGERコンポーネント)がミキシングを実行し得、その後そうしてミキシングされたデータストリームがオーディオHAL128へと提供され得る。他方、(例えば、TIDALアプリケーション112からの)サラウンドサウンドストリームは、限定されないが、ステレオストリームおよびDOLBY ATMOSストリームを含む少なくとも2つのタイプのストリームをサポートし得る。TIDALアプリケーション112からのステレオストリームがフレームワーク120内で受信された場合、ステレオストリームは、SPOTIFYアプリケーション110からのストリームと同じパスを辿り得る。対照的に、ATMOSストリームは、ミキサ122をバイパスし得る。オーディオHAL128において、オープンバスパイプライン130および特定の他のコンポーネント(例えば、BT通話およびメディア処理コンポーネント、オーディオポリシ構成コンポーネント、トリガコンポーネント、またはTCP通信チャネルコンポーネント)は、ATMOSデータストリームを受信しないか、または別様に処理しない場合がある。
【0032】
オーディオHAL128において、カスタマイズ138は、ミキサバイパスおよび/またはサラウンドサウンドデータストリームの適切なデコーダへの提供をサポートすることに向けた1つまたは複数の他の機能を促進し得る。サラウンドサウンドプレイバックのとき、ドライバは、バッファ管理を実行するオーディオHAL内で開かれるかまたは別様に生成され得る。いくつかの実装において、利用可能なチャネルのうち、2つのチャネルがメディアスタジオのために使用され得、別のチャネルは電話通話のために使用され得、別のチャネルはデジタルアシスタント(例えば、ALEXAアシスタント)のために使用され得、別のチャネルはナビゲーションのために使用され得、別のチャネルはサラウンドサウンドデータストリームのために使用され得る。基板(例えば、ハードウェア基板102および104)の間をインターフェースで接続することは、時間制限のためのデッドラインに関連付けられ得る。つまり、オーディオHAL128は、アプリケーションからデータを継続的に受信し得、時間の特定の制限(例えば、限定されないが、数ミリ秒を含む、1秒の数分の一)を超えてデータをブロックできない。例えば、オーディオHAL128がより多くのデータを適時受信していない場合、アンダーラン状況が生じ得る。バッファは、フレームが適時処理される間、UI(例えば、ANDROIDオペレーティングシステム)がブロックされないように、管理され得る。データが特定のサイズのバッファへダンプされるとき、どれだけ多くのバイトが受信されたのか、およびどれだけ多くがオーディオシステム100内で下流へ返されたのかの収支は、インクリメントされるか、または別様に更新され得る。オーディオHAL128は、どれだけ多くのフレームが返されたのかについて、アプリケーション(例えば、TIDALアプリケーション112)にレポートを提供し得る。
【0033】
いくつかの実装において、オーディオHAL128による処理ではなく、レンダリングが別個のハードウェア上で(例えば、ハードウェア基板102とは対照的にハードウェア基板104上で)実行され得る。したがって、オーディオHAL128は、レンダリングの一部として正確にどれだけの時間が再生されたのか、またはどれだけ多くのフレームが処理された(例えば、デコードされた)のかを把握していない場合がある。サラウンドサウンドストリームに関してレンダリングされたエンコードされたバイトに関して、(例えば、カスタマイズ138の一部として)タイムスタンプ計算が実行され得る。いくつかの実装において、フレームの数の推定は、タイムスタンプ計算を使用してまたはそれに基づいてアプリケーションへ提供され得る。例えば、推定は、オーディオHAL128によって送信されたバイト数に基づくことができる。
【0034】
本主題に対応しないいくつかの既存のアプローチにおいて、オーディオHAL128に対応するコンポーネントは、何の外部デバイスがハードウェア基板104に接続されているのかを推測するかまたは別様に把握する方式を有し得る。高解像度マルチメディアコンテンツインターフェース(HDMI(登録商標))ケーブルによって接続されている場合、コンポーネントは、HDMIに関するコールバックイベントを検出し得、したがってHDMIが接続されていること、およびストリームがHDMIを経由して通され得ることを把握することになる。オペレーティングシステム(例えば、ANDROIDオペレーティングシステム)が当該機能を提供し得る。本主題において、対照的に、HDMI通信が利用可能でない場合がある。むしろ、アプリケーション(例えば、TIDALアプリケーション112)は単にストリームを送信し得、オーディオHAL128は、当該ストリームを、それがデバイス上でプレイバックされることができるように管理する必要がある場合がある。さらに、オーディオHAL128は、HDMIデバイスまたは他の消費者電子デバイスがデータを受信するか否かを把握するランタイムメカニズムを本質的にまたはネイティブに有さない場合がある。したがって、本主題において、サラウンドサウンドデータ(例えば、ATMOSストリーム)が受信された場合常にチャネルが(例えば、カスタマイズ132、134、136または138のうちの1つまたは複数を使用してまたはそれらに基づいて)実行時に開かれ得、その場合に当該チャネルのためのドライバがオーディオHAL128において開かれ得、処理が実行され得、システムは、当該チャネルを経由して(例えば、ハードウェア基板104における)デコーダへストリームを送信し得る。
【0035】
図2は、サラウンドサウンドをサポートするオーディオシステム200の1つの例を示す。オーディオシステム200は、本明細書の他の箇所で説明される1つまたは複数の他の例と共に使用され得る。オーディオシステム200は、
図5を参照して下記で説明されるいくつかのまたは全ての例を使用して実装され得る。
【0036】
オーディオシステム200は、少なくとも1つのオーディオソース202を含む。オーディオソース202は、車両にローカル(例えば、ローカルハードドライブ、メモリ、または他のオーディオストレージデバイス)であり得、またはリモート(例えば、1つまたは複数のコーディングフォーマットでオーディオコンテンツを供給する1つまたは複数のリモートに位置するサーバへのネットワーク接続)であり得る。ここで、オーディオソース202からのオーディオコンテンツ204は、非サラウンドサウンドデータストリーム(例えば、
図1中の、SPOTIFYアプリケーション110、AMAZON ALEXAアプリケーション114、ナビゲーションアプリケーション116、またはラジオUIアプリケーション118のうちのいずれかからのもの、またはTIDALアプリケーション112からのステレオストリーム)、またはサラウンドサウンドデータストリーム(例えば、TIDALアプリケーション112からのATMOSストリーム)のどちらかを表し得る。他のアプローチが使用され得る。
【0037】
オーディオシステム200は、オーディオソース202からオーディオコンテンツ204を受信または得ることができるオーディオプロセッサ206を含み得る。オーディオプロセッサ206は、オペレーティングシステム(operating system:OS)フレームワークミキサ208を含む。いくつかの実装において、OSはANDROID OSを含む。例えば、OSフレームワークミキサ208は、ANDROID AUDIOFLINGERコンポーネント内に含まれ得る。オーディオコンテンツ204の、非サラウンドサウンドデータストリームは、ミキシングのためにOSフレームワークミキサ208へ提供され得る。
【0038】
オーディオプロセッサ206はフレームワークミキサバイパス210を含む。オーディオコンテンツ204の、サラウンドサウンドデータストリームは、フレームワークミキサバイパス210へ提供され得る。例えば、これは、
図1中のカスタマイズ132、134、136または138のうちの1つまたは複数を使用してまたはそれらに基づいて行われ得る。
【0039】
少なくともオーディオプロセッサ206は、概略的に示されるように、車両212内に実装され得る。車両212は、限定されないが、非サラウンドサウンドデータストリーム、またはサラウンドサウンドデータストリームを含むオーディオを再生するためのスピーカを含む。限定されないが、ツイータスピーカ、ミッドレンジスピーカ、フルレンジスピーカ、および/またはウーファを含むスピーカタイプの1つまたは複数のタイプが使用され得る。各スピーカ(タイプ)は、電気入力を音波へ変換するための1つまたは複数のトランスデューサ(例えば、ボイスコイル)を含み得る。車両212は、車両212内での複数の配置のうちのいずれかを有し得るn個のツイータスピーカ214を含み得る。車両212は、車両212内での複数の配置のうちのいずれかを有し得るm個のミッドレンジスピーカ216を含み得る。車両212は、車両212内での複数の配置のうちのいずれかを有し得るp個の(ツイドラスピーカ(twiddler speaker)と称される場合がある)フルレンジスピーカ218を含み得る。車両212は、車両212内での複数の配置のうちのいずれかを有し得るq個のウーファ220(例えば、サブウーファ)を含み得る。他のアプローチが使用され得る。
【0040】
図3は、サラウンドサウンドをサポートするように自動車用オーディオシステムを適合させる例示的な方法300のフローチャートである。
図4は、車両の自動車用オーディオシステム上でサラウンドサウンドを再生する例示的な方法400のフローチャートである。より多くのまたはより少ない動作が実行可能である。別段に明示されない限り、2つまたはそれよりも多くの動作が異なる順序で実行され得る。
【0041】
動作302において、アプリケーションプログラムは、パススルーモードをプレイバックモードとして指定するオーディオトラックオブジェクトの作成のために構成され得る。サラウンドサウンドのために構成されていないオペレーティングシステム下で動作するように、アプリケーションプログラムがインストールされ得る。いくつかの実装において、ANDROIDオペレーティングシステム下で動作するように、TIDALアプリケーション112がインストールされ得、ATMOSストリームのためのオーディオトラックオブジェクトを作成し得る。例えば、TIDALアプリケーション112は、カスタマイズ132を提供され得る。
【0042】
動作304において、オペレーティングシステムのフレームワークは、オペレーティングシステムのミキサを通り過ぎるバイパスを有して構成され得る。バイパスは、オーディオトラックオブジェクトのサラウンドサウンドデータがミキサをバイパスすることを可能にする。いくつかの実装において、フレームワーク120は、カスタマイズ134を設けられ得る。例えば、カスタマイズ134は、ミキサ122をバイパスするための出力パススルーモードを有効にし得る。
【0043】
動作306において、ハードウェア抽象化層は、オペレーティングシステムから受信されたサラウンドサウンドデータのための別個のチャネルを有して構成され得る。ハードウェア抽象化層は、処理されたサラウンドサウンドデータをデコーダに提供する前に、サラウンドサウンドデータを処理し得る。いくつかの実装において、オーディオHAL128は、カスタマイズ136および/または138を設けられ得る。
【0044】
ここで方法400に目を向けると、動作402は、自動車用オーディオシステムのアプリケーションプログラムを使用して、パススルーモードをプレイバックモードとして指定するオーディオトラックオブジェクトを作成することを伴い得る。サラウンドサウンドのために構成されていないオペレーティングシステム下で動作するように、アプリケーションプログラムがインストールされ得る。いくつかの実装において、TIDALアプリケーション112がANDROIDオペレーティングシステム下で動作し得、カスタマイズ132を使用してATMOSストリームのためのオーディオトラックオブジェクトを作成し得る。
【0045】
動作404は、オペレーティングシステムのフレームワーク内で、オーディオトラックオブジェクトのサラウンドサウンドデータがオペレーティングシステムのミキサをバイパスすることを伴い得る。いくつかの実装において、フレームワーク120内のカスタマイズ134は、ミキサ122をバイパスする出力パススルーモードを提供し得る。
【0046】
動作406は、自動車用オーディオシステムのハードウェア抽象化層においてサラウンドサウンドデータを処理することを伴い得る。いくつかの実装において、カスタマイズ136および138を有するオーディオHAL128は、バッファ管理および/またはタイムスタンプ計算を実行し得る。
【0047】
動作408は、処理されたサラウンドサウンドデータをデコーダへ提供してデコードされたサラウンドサウンド信号を生成することを伴い得る。いくつかの実装において、オーディオHAL128は、処理されたデータをバス106を使用してハードウェア基板104へ提供し得る。
【0048】
動作410は、デコードされたサラウンドサウンド信号を、車両の複数のスピーカのうちの少なくとも1つへ提供することを伴い得る。いくつかの実装において、ハードウェア基板104は、オーディオ信号を、オーディオシステム200のスピーカのうちの1つまたは複数へ提供し得る。
【0049】
図5は、本明細書において説明されているシステム、装置および/または技法のうちのいずれか、または様々な可能な実施形態において利用され得る任意の他のシステム、装置および/または技法を含む、本開示の態様を実装するために使用され得るコンピューティングデバイス500の例示的なアーキテクチャを示す。
【0050】
図5に示されているコンピューティングデバイスを使用して、本明細書において説明されているオペレーティングシステム、アプリケーションプログラムおよび/または(ソフトウェアエンジンを含む)ソフトウェアモジュールを実行できる。
【0051】
いくつかの実施形態において、コンピューティングデバイス500は、中央処理装置(CPU)などの少なくとも1つの処理デバイス502(例えば、プロセッサ)を含む。様々な製造業者、例えばIntelまたはAdvanced Micro Devicesから、様々な処理デバイスが入手可能である。この例において、コンピューティングデバイス500は、システムメモリ504、および、システムメモリ504を含む様々なシステムコンポーネントを処理デバイス502に結合するシステムバス506も含む。システムバス506は、様々なバスアーキテクチャのうちのいずれかを使用する、メモリバスまたはメモリコントローラ;ペリフェラルバス;およびローカルバスを含むがこれらに限定されない、使用され得る任意の数のタイプのバス構造のうちの1つである。
【0052】
コンピューティングデバイス500を使用して実装され得るコンピューティングデバイスの例は、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、モバイルコンピューティングデバイス(例えば、スマートフォン、タッチパッドモバイルデジタルデバイスまたは他のモバイルデバイス)、またはデジタル命令を処理するように構成された他のデバイスを含む。
【0053】
システムメモリ504は、リードオンリメモリ508およびランダムアクセスメモリ510を含む。例えば起動中にコンピューティングデバイス500内で情報を転送するように機能する基本ルーチンを含む基本入力/出力システム512が、リードオンリメモリ508内に格納されていてよい。
【0054】
いくつかの実施形態において、コンピューティングデバイス500は、デジタルデータを格納するために、二次ストレージデバイス514、例えば、ハードディスクドライブも含む。二次ストレージデバイス514は、二次ストレージインターフェース516によってシステムバス506に接続される。二次ストレージデバイス514、およびその関連付けられたコンピュータ可読媒体は、コンピューティングデバイス500用の(アプリケーションプログラムおよびプログラムモジュールを含む)コンピュータ可読命令、データ構造および他のデータの不揮発性かつ非一時的なストレージを提供する。
【0055】
本明細書において説明されている例示的な環境では二次ストレージデバイスとしてハードディスクドライブが使用されているが、他の実施形態では他のタイプのコンピュータ可読記憶媒体が使用される。これらの他のタイプのコンピュータ可読記憶媒体の例は、磁気カセット、フラッシュメモリカード、ソリッドステートドライブ(SSD)、デジタルビデオディスク、ベルヌーイカートリッジ、コンパクトディスクリードオンリメモリ、デジタル多用途ディスクリードオンリメモリ、ランダムアクセスメモリまたはリードオンリメモリを含む。いくつかの実施形態は非一時的媒体を含む。例えば、コンピュータプログラム製品は、非一時的記憶媒体に有形に具現化され得る。追加的に、そのようなコンピュータ可読記憶媒体は、ローカルストレージまたはクラウドベースのストレージを含み得る。
【0056】
二次ストレージデバイス514、および/またはオペレーティングシステム518、1つまたは複数のアプリケーションプログラム520、他のプログラムモジュール522(例えば、本明細書において説明されているソフトウェアエンジン)およびプログラムデータ524を含むシステムメモリ504に複数のプログラムモジュールが記憶され得る。コンピューティングデバイス500は、任意の好適なオペレーティングシステムを利用し得る。
【0057】
いくつかの実施形態において、ユーザは、1つまたは複数の入力デバイス526を通じて、コンピューティングデバイス500に入力を提供する。入力デバイス526の例は、キーボード528、マウス530、(例えば、音声および/または他のオーディオ入力のための)マイクロフォン532、タッチセンサ534(例えば、タッチパッドまたはタッチ感知ディスプレイ)、および(例えばジェスチャ入力のための)ジェスチャセンサ535を含む。いくつかの実装において、入力デバイス526は、存在、近接度および/または動きに基づく検出を提供する。他の実施形態は他の入力デバイス526を含む。入力デバイスは、システムバス506に結合された入力/出力インターフェース536を通じて処理デバイス502に接続され得る。これらの入力デバイス526は、任意の数の入力/出力インターフェース、例えば、パラレルポート、シリアルポート、ゲームポート、またはユニバーサルシリアルバスによって接続され得る。可能ないくつかの実施形態において、入力デバイス526および入力/出力インターフェース536の間の無線通信も可能であり、ほんの数例を挙げると、赤外線、BLUETOOTH(登録商標)無線技術、802.11a/b/g/n、セルラ、超広帯域(UWB)、ZigBee(登録商標)、または他の無線周波数通信システムを含む。
【0058】
この例示的な実施形態において、ディスプレイデバイス538、例えば、モニタ、液晶ディスプレイデバイス、発光ダイオードディスプレイデバイス、プロジェクタ、またはタッチ感知ディスプレイデバイスなども、インターフェース、例えばビデオアダプタ540を介してシステムバス506に接続される。コンピューティングデバイス500は、ディスプレイデバイス538に加え、様々な他のペリフェラルデバイス(図示せず)、例えば、スピーカまたはプリンタを含み得る。
【0059】
コンピューティングデバイス500は、ネットワークインターフェース542を通じて1つまたは複数のネットワークに接続され得る。ネットワークインターフェース542は、有線および/または無線通信を提供できる。いくつかの実装において、ネットワークインターフェース542は、無線信号を送信および/または受信するための1つまたは複数のアンテナを含み得る。ローカルエリアネットワーキング環境またはワイドエリアネットワーキング環境(例えば、インターネット)で使用される場合、ネットワークインターフェース542は、イーサネット(登録商標)インターフェースを含み得る。可能な他の実施形態は、他の通信デバイスを使用する。例えば、コンピューティングデバイス500のいくつかの実施形態は、ネットワークにわたって通信するためのモデムを含む。
【0060】
コンピューティングデバイス500は、少なくとも何らかの形態のコンピュータ可読媒体を含み得る。コンピュータ可読媒体は、コンピューティングデバイス500によってアクセスされ得る任意の利用可能な媒体を含む。例として、コンピュータ可読媒体は、コンピュータ可読記憶媒体およびコンピュータ可読通信媒体を含む。
【0061】
コンピュータ可読記憶媒体は、情報、例えば、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータを記憶するように構成された任意のデバイス内に実装される、揮発性および不揮発性であり、リムーバブルおよび非リムーバブルな媒体を含む。コンピュータ可読記憶媒体は、限定されないが、ランダムアクセスメモリ、リードオンリメモリ、電気的消去可能プログラマブルリードオンリメモリ、フラッシュメモリ、または他のメモリ技術、コンパクトディスクリードオンリメモリ、デジタル多用途ディスクまたは他の光ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージまたは他の磁気ストレージデバイス、または所望の情報を記憶するために使用され得、コンピューティングデバイス500によってアクセスされ得る任意の他の媒体を含む。
【0062】
コンピュータ可読通信媒体は、典型的には、コンピュータ可読命令、データ構造、プログラムモジュールまたは他のデータを、変調データ信号、例えば、搬送波または他の移送メカニズムにおいて具現化し、任意の情報伝達媒体を含む。「変調データ信号」という用語は、その特性のうちの1つまたは複数が、信号内の情報をエンコードするような方式で設定または変更された信号を指す。例として、コンピュータ可読通信媒体は、有線媒体、例えば、有線ネットワークまたは直接有線接続、および無線媒体、例えば、音響、無線周波数、赤外線、および他の無線媒体を含む。上記のうちのいずれかの組み合わせも、コンピュータ可読媒体の範囲内に含まれる。
【0063】
図5に示されているコンピューティングデバイスも、1つまたは複数のそのようなコンピューティングデバイスを含み得るプログラマブル電子機器の1つの例であり、複数のコンピューティングデバイスが含まれる場合、そのようなコンピューティングデバイスは、好適なデータ通信ネットワークに共に結合されることにより、本明細書において開示されている様々な機能、方法または動作を集合的に実行できる。
【0064】
いくつかの実装において、コンピューティングデバイス500は、ADASコンピュータとして特徴付けられ得る。例えば、コンピューティングデバイス500は、人工知能(AI)の分野で生じるタスクを処理するために使用されることがある1つまたは複数のコンポーネントを含み得る。次いで、コンピューティングデバイス500は、ADASまたはAI全般の需要に対して十分な進行電力および必要なサポートアーキテクチャを含む。例えば、処理デバイス502は、マルチコアアーキテクチャを含み得る。別の例として、コンピューティングデバイス500は、処理デバイス502に加え、またはその一部として、1つまたは複数のコプロセッサを含み得る。いくつかの実装において、少なくとも1つのハードウェアアクセラレータがシステムバス506に結合され得る。例えば、グラフィックス処理ユニットが使用され得る。いくつかの実装において、コンピューティングデバイス500は、ニューラルネットワーク固有ハードウェアを実装して、1つまたは複数のADASタスクを処理できる。
【0065】
本明細書の全体を通して使用される「実質的に」および「約」という用語は、例えば処理時のばらつきに起因する小さい変動を説明および報告するために使用される。例えば、それらは、±5%未満またはそれに等しい、例えば±2%未満またはそれに等しい、例えば±1%未満またはそれに等しい、例えば±0.5%未満またはそれに等しい、例えば±0.2%未満またはそれに等しい、例えば±0.1%未満またはそれに等しい、例えば±0.05%未満またはそれに等しいことを指し得る。また、本明細書で使用される場合、不定冠詞、例えば、「1つの(a)」または「1つの(an)」は「少なくとも1つの」を意味する。
【0066】
上記の概念および下記でより詳細に議論される追加の概念の全ての組み合わせが(そのような概念が相互に矛盾しないことを条件として)、本明細書で開示する本発明の主題の一部であるとして企図されることが理解されるであろう。特に、本開示の最後に現れる特許請求される主題の全ての組み合わせが、本明細書において開示される本発明の主題の一部であると企図される。
【0067】
複数の実装について説明してきた。とは言え、本明細書の趣旨および範囲から逸脱することなく様々な修正が行われ得ることが理解されるであろう。
【0068】
加えて、図に示す論理フローは、望ましい結果を達成するために、示した特定の順序、または連続した順序を必要としない。加えて、他の処理が提供されてよく、または説明されたフローから処理が排除されてよく、説明されたシステムに他のコンポーネントが追加されてよく、または説明されたシステムから他のコンポーネントが削除されてよい。したがって、他の実装が下記の特許請求の範囲に記載の範囲内に含まれる。
【0069】
説明した実装の特定の特徴が、本明細書で説明されるように示されてきたが、今や多くの修正、置換、変更、および均等物が当業者には思い浮かぶであろう。したがって、添付の特許請求の範囲は、これらの実装の範囲に入る全てのそのような修正および変更を包含するように意図されていることが理解されるべきである。それらは限定ではなく単なる例として提示されており、形態および詳細の様々な変更が行われてよいことが理解されるべきである。相互に排他的な組み合わせを除き、本明細書で説明する装置および/または方法の任意の部分が任意の組み合わせで組み合わされてよい。本明細書で説明される実装は、説明された異なる実装の機能、コンポーネント、および/または特徴の様々な組み合わせおよび/または副次的組み合わせを含み得る。
【国際調査報告】