音響装置および復号方法
【課題】受信側の処理効率を維持し、且つ復号処理における復号ミスの発生を回避する。
【解決手段】送信装置200における符号化処理、および音響装置100が受信した音声符号化データの復号処理に用いる第1のコーデック条件を決定する条件決定部11と、音声符号化データを受信し、受信した音声符号化データに条件決定部11が決定した第1のコーデック条件を付加する条件付加部12と、第1のコーデック条件が付加された音声符号化データを格納するメモリ部13とを有する受信部10と、条件付加部12により第1のコーデック条件が付加された音声符号化データを取得し、付加された第1のコーデック条件と、送信装置200における符号化処理に用いられた第2のコーデック条件とを比較し、両者が一致した場合に音声符号化データを出力する比較部30と、比較部30から出力された音声符号化データを復号するデコード部50とを備える。
【解決手段】送信装置200における符号化処理、および音響装置100が受信した音声符号化データの復号処理に用いる第1のコーデック条件を決定する条件決定部11と、音声符号化データを受信し、受信した音声符号化データに条件決定部11が決定した第1のコーデック条件を付加する条件付加部12と、第1のコーデック条件が付加された音声符号化データを格納するメモリ部13とを有する受信部10と、条件付加部12により第1のコーデック条件が付加された音声符号化データを取得し、付加された第1のコーデック条件と、送信装置200における符号化処理に用いられた第2のコーデック条件とを比較し、両者が一致した場合に音声符号化データを出力する比較部30と、比較部30から出力された音声符号化データを復号するデコード部50とを備える。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、符号化データの復号に関し、特に復号処理の失敗を回避するための技術である。
【背景技術】
【0002】
従来、データ送受信におけるデータの復号方法として、事前に送受信先でネゴシエーションによりコーデック条件を決定し、決定したコーデック条件を受信側に設定すると共に、送信側はネゴシエーションにより決定されたコーデック条件で符号化した送信データを出力し、受信側において予め設定されたコーデック条件を用いて送信データを復号する方法が用いられている。しかし、上述した従来の復号方法では、送信側においてネゴシエーションにより決定された条件と異なるコーデック条件を用いて符号化される場合があり、この場合、受信側において送信データの復号に失敗し、異音が発生する。この復号の失敗を防止するためには、送信データに含まれるコーデック条件に従って、受信側のコーデック条件を常に変更するように構成してもよいが、コーデック条件を変更する度に復号部を初期化する必要が生じ、効率が悪いという問題があった。
【0003】
この対策として特許文献1には、送信側で、伝送データ列のフレームパターンに、音声データおよび誤り訂正データと共に周波数データまたはチャネルデータを付加して送信データとして送信し、受信側では、フレームパターンを検出し、付加されている周波数データまたはチャネルデータを検出し、受信側の設定した周波数またはチャネルと一致しない場合は音声またはデータを出力せず、一致している場合は音声コーデックを行い、音声またはデータとして出力する方法が開示されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2002−44703号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上述した特許文献1に開示された方法では、送信側で周波数データまたはチャネルデータを付加し、受信側で付加された周波数データまたはチャネルデータを検出して解析するため、受信側に解析処理機能を設ける必要があり、受信側の処理速度が低下し、効率性に欠けるという課題があった。さらに、送信データは種々の圧縮方法により圧縮される場合が想定され、受信側に各圧縮方法固有の解析処理を組み込む必要が生じ、汎用性に欠けるという課題があった。
【0006】
この発明は、上記のような課題を解決するためになされたもので、受信側の処理効率を維持し、且つ復号処理で復号ミスが発生するのを回避する音響装置および復号方法を提供することを目的とする。
【課題を解決するための手段】
【0007】
この発明に係る音響装置は、送信側における符号化処理、および受信した音声符号化データの復号処理に用いる第1のコーデック条件を決定する条件決定部と、音声符号化データを受信し、受信した音声符号化データに条件決定部が決定した第1のコーデック条件を付加する条件付加部と、条件付加部により第1のコーデック条件が付加された音声符号化データを格納するメモリ部とを有する受信部と、メモリ部から第1のコーデック条件が付加された音声符号化データを取得し、付加された第1のコーデック条件と、音声符号化データの送信側における符合化処理に用いられた第2のコーデック条件とを比較し、両者が一致した場合に音声符号化データを出力する比較部と、比較部から出力された音声符号化データを復号する復号部とを備えたものである。
【発明の効果】
【0008】
この発明によれば、受信側の処理性能を低下させることなく、復号処理において発生するエラーを事前に検知することができる。
【図面の簡単な説明】
【0009】
【図1】実施の形態1による音響装置の構成を示すブロック図である。
【図2】実施の形態1による音響装置の音声データの構造を示す説明図である。
【図3】実施の形態1による音響装置の受信部の動作を示すフローチャートである。
【図4】実施の形態1による音響装置の比較部の動作を示すフローチャートである。
【図5】実施の形態2による音響装置の構成を示すブロック図である。
【図6】実施の形態2による音響装置の受信部の保管領域作成処理を示すフローチャートである。
【図7】実施の形態2による音響装置の受信部の音声データの受信処理を示すフローチャートである。
【図8】実施の形態2による音響装置の受信部の音声データの送信処理を示すフローチャートである。
【図9】実施の形態2による音響装置の音声データB´の一例を示す説明図である。
【図10】実施の形態2による音響装置の比較部の動作を示すフローチャートである。
【図11】実施の形態2による音響装置の他の構成を示すブロック図である。
【図12】実施の形態2による音響装置の受信部の対応表作成処理を示すフローチャートである。
【図13】実施の形態2による音響装置の受信部の音声データの送信処理を示すフローチャートである。
【図14】実施の形態3による音響装置の構成を示すブロック図である。
【図15】実施の形態3による音響装置の受信部の音声データの受信処理を示すフローチャートである。
【図16】実施の形態3による音響装置の音声データBsの一例を示す説明図である。
【発明を実施するための形態】
【0010】
実施の形態1.
図1は、この発明の実施の形態1による音響装置100の構成を示すブロック図である。図1において、音響装置100は、受信部10、制御部20、比較部30、上位ソフトウェア40およびデコード部50で構成されている。また、音響装置100はオーディオプレーヤーなどのデータソースを提供する送信装置200と接続されている。なお、本発明が音響装置であり、送信装置200から音声データが提供される場合を例に説明するが、これは音声データの復号であれば、復号ミスが発生すると予測される音声データを復号せずに破棄した場合であっても、ユーザに違和感を与えることなく、音声の再生を行うことができるためである。
【0011】
受信部10は、条件決定部11、条件付加部12およびメモリ部13で構成されている。条件決定部11は、送信装置200から符号化された音声データを受信する前に、符号化条件(例えば、符号化の種別、およびサンプリング周波数など)を、送信装置200とネゴシエーションにより決定する。当該ネゴシエーションにより決定された符号化条件(以下、第1のコーデック条件と称する)は、条件付加部12および制御部20に出力される。条件付加部12は、送信装置200から符号化された音声データ(以下、音声データAと称する)を受信すると、受信した音声データに条件決定部11が決定した第1のコーデック条件を付加し、音声データBとしてメモリ部13に格納する。メモリ部13は、比較部30から入力されるデータ取得要求に応じて格納している音声データBの中から最も古いデータを出力する。
制御部20は、条件決定部11が決定した第1のコーデック条件を用いてデコード部50を初期化する。
【0012】
比較部30は、コーデック条件抽出部31およびエラー検出部32で構成されている。コーデック条件抽出部31は、受信部10のメモリ部13から取得した音声データBから、付加されている第1のコーデック条件を抽出する。さらに第1のコーデック条件抽出後の音声データから送信装置200側で符号化に用いられた第2のコーデック条件を抽出する。抽出した第1および第2のコーデック条件および当該コーデック条件抽出後の音声データ(以下、音声データCと称する)をエラー検出部32に出力する。エラー検出部32は、コーデック条件抽出部31において抽出された第1のコーデック条件と第2のコーデック条件とを比較し、コーデック条件が一致するか判定を行う。判定結果に応じて、音声データをデコード部50に出力、あるいは上位ソフトウェア40にエラーを通知すると共に音声データを破棄する。
【0013】
上位ソフトウェア40は、エラー検出部32からエラー通知を受けると、当該エラー通知を画面上などに表示する。また、エラー通知を音声などによりユーザに報知するように構成してもよい。
また、例えば上位ソフトウェア40に正常状態とエラー状態の2状態を持たせるように構成してもよい(初期状態は正常状態となる)。正常状態の際に、エラー検出部32からエラー通知を受けるとエラー状態に遷移する。
【0014】
一方、エラー状態の際に、エラー検出部32からエラー通知を受けなくなる、つまり正しく符号化された音声データAを受信できるようになった場合、正常状態に戻る。なお、この場合、上位ソフトウェア40は、エラー検出部32でエラー通知しない状態になったことを示す通知を受け取る。当該通知により正常状態に戻る判断を行う。
さらに、エラー状態の際に、エラー検出部32からエラー通知を連続して特定回数受け取り続けた場合、またはエラー状態が特定時間続いた場合、音楽を再生中にエラーが発生したことを示す警告をディスプレイなどに表示してユーザに報知する、またはユーザに別の音楽再生を促す。
【0015】
デコード部50は、制御部20を介して入力される第1のコーデック条件により初期化される。また、エラー検出部32から音声データCが入力されると、初期化により設定された第1のコーデック条件に基づいて音声データCをデコードする。デコードした音声データCを再生装置などの外部装置(不図示)に出力することにより、音声の再生が行われる。なお、音響装置100に再生手段を設けるように構成してもよい。
【0016】
次に、音声データの詳細な構造について説明する。
図2は、実施の形態1による音響装置100の音声データの構造を示す説明図である。
図2(a)は送信装置200が音響装置100に対して送信する音声データAの構造を示し、図2(b)はメモリ部13が格納する音声データBの構造を示す説明図である。
音声データAのデータ格納部300には、符号化された音声データC、当該音声データCの符号化に用いた第2のコーデック条件、および音声データCのメディア情報で構成されている。音声データBは、上述した音声データAのデータ格納部300に第1のコーデック条件が付加されている。当該第1のコーデック条件は条件付加部12により付加されたものである。比較部30は、音声データBの第1のコーデック条件と第2のコーデック条件とを比較し、一致するか判定を行う。
【0017】
次に、図3および図4を参照しながら実施の形態1による音響装置100の動作について説明する。なお、以下の説明では、条件決定部11が送信装置200とのネゴシエーションにより決定したコーデック条件を第1のコーデック条件、送信装置200における符号化で用いたコーデック条件を第2のコーデック条件、送信装置200から送信される音声データを音声データA、メモリ部13に格納される音声データを音声データB、およびデコード部50がデコードする音声データを音声データCとして説明する。
【0018】
まず、図3は実施の形態1による音響装置100の受信部10の動作を示すフローチャートである。
受信部10の条件付加部12は、送信装置200から音声データAを受信すると(ステップST1)、受信した音声データAに条件決定部11においてあらかじめ決定された第1のコーデック条件を付加し、音声データBを生成する(ステップST2)。生成した音声データBは、受信した順序でメモリ部13に格納する(ステップST3)。その後、フローはステップST1の処理に戻り、上述の処理を繰り返す。
【0019】
図4は、実施の形態1による音響装置100の比較部30の動作を示すフローチャートである。
比較部30のコーデック条件抽出部31は、受信部10のメモリ部13を参照して音声データBが格納されているか判定を行う(ステップST11)。メモリ部13に音声データBが格納されていない場合(ステップST11;NO)、ステップST11の処理に戻る。一方、メモリ部13に音声データBが格納されている場合(ステップST11;YES)、コーデック条件抽出部31はメモリ部13に対してデータ取得要求を出力し、メモリ部13に格納された音声データBを取得する(ステップST12)。さらに、コーデック条件抽出部31は、取得した音声データBから第1のコーデック条件を抽出し(ステップST13)、さらに第2のコーデック条件および音声データCに関するメディア情報を抽出する(ステップST14)。ステップST13およびステップST14で抽出されたデータはエラー検出部32に出力される。
【0020】
エラー検出部32は、ステップST13で抽出された第1のコーデック条件と、ステップST14で抽出された第2のコーデック条件とを比較し、一致するか判定を行う(ステップST15)。第1のコーデック条件と第2のコーデック条件が一致した場合(ステップST15;YES)、エラー検出部32は音声データCをデコード部50に出力し(ステップST16)、デコード部50がデコード処理を実行する(ステップST17)。一方、第1のコーデック条件と第2のコーデック条件が一致しない場合(ステップST15;NO)、復号処理におけるエラー発生を検知し、検知したエラーを上位ソフトウェア40に通知すると共に、音声データCを破棄する(ステップST18)。ステップST17あるいはステップST18の処理が終了するとフローはステップST11の処理に戻り、上述した処理を繰り返す。
【0021】
以上のように、この実施の形態1によれば、送信装置200とネゴシエーションにより決定した第1のコーデック条件を、受信した音声データに付加する条件付加部12と、第1のコーデック条件を付加した音声データを格納するメモリ部13とを備えた受信部10と、メモリ部13に格納された音声データを取得し、条件付加部12により付加された第1のコーデック条件と、音声データを符号化した際の第2のコーデック条件とを抽出し、抽出した第1のコーデック条件と第2のコーデック条件が一致する場合には、音声データをデコード部50に出力し、一致しない場合には上位ソフトウェア40にエラー検知を通知すると共に音声データを破棄する比較部30とを備えるように構成したので、デコード部におけるデコード処理の失敗を事前に防ぐと共に、復号処理におけるエラー発生を検知した場合には検知したエラーを上位ソフトウェアに通知することができる。
【0022】
実施の形態2.
この実施の形態2では、第1コーデック条件が同一の音声データAを複数統合して比較部30に提供する構成を示す。
図5は、実施の形態2による音響装置100の構成を示すブロック図である。この実施の形態2の音響装置は、上記図1で示した実施の形態1の受信部10にメモリ管理部14を追加して構成している。なお、以下では、実施の形態1による音響装置100の構成要素と同一または相当する部分には実施の形態1で使用した符号と同一の符号を付して説明を省略または簡略化する。
【0023】
受信部10´の条件決定部11´は、第1のコーデック条件が変更されると、制御部20および受信部10´のメモリ管理部14に出力する。メモリ管理部14は、第1のコーデック条件を受信する度に、新たな保管領域をメモリ部13´に作成する。メモリ管理部14は、送信装置200から送信された音声データAを受信すると、当該音声データAをメモリ部13´にある一番新しい保管領域に保管する。さらにメモリ管理部14は、比較部30´のコーデック条件抽出部31´からデータ取得要求を受け取ると、メモリ部13´にデータ送信要求を出力すると共に、該当する第1のコーデック条件を条件付加部12´に通知する。
【0024】
メモリ部13´は、音声データAを格納する保管領域を有している。図5では、複数の保管領域13_1,13_2,・・・,13_nが作成された場合を示している。メモリ部13´は、データ送信要求に基づいて、同一の保管領域に保管された連続した複数の音声データA1,A2,・・・,An(以下、連続音声データA´と称する)を条件付加部12´に出力する。条件付加部12´は、連続音声データA´に対して、メモリ管理部14から通知された第1のコーデック条件を付加し、音声データB´を生成する。生成した音声データB´は比較部30´のコーデック条件抽出部31´に出力する。
【0025】
なお、メモリ部13´に保管領域が複数存在する場合には、一番古い保管領域から連続音声データA´を取り出し、条件付加部12´に出力する。条件付加部12´は、入力された連続音声データA´の先頭に、メモリ管理部14から通知された第1のコーデック条件を付けて比較部30´に渡す。なお、比較部30´に対して一度に渡すのは一つの保管領域にあるデータのみであり、複数の保管領域を跨って音声データの取り出しは行わない。
【0026】
次に、受信部10´の動作についてより詳細に説明する。
図6は、実施の形態2の音響装置100の受信部10´の保管領域作成処理を示すフローチャートである。
受信部10´の条件決定部11´が送信装置200とネゴシエーションを行う(ステップST21)。条件決定部11´は第1のコーデック条件が前回と変わったか確認を行い(ステップST22)、前回と変わっていない場合(ステップST22;NO)にはステップST21の処理に戻る。一方、前回と変わっている場合(ステップST22;YES)、条件決定部11´は第1のコーデック条件をメモリ管理部14に送信する(ステップST23)。ステップST23で第1のコーデック条件が送信されたメモリ管理部14は、メモリ部13´に新たな保管領域の作成を要求する(ステップST24)。メモリ部13´は、ステップST24の要求に応じて、新たな保管領域を作成する(ステップST25)。その後、フローはステップST21に戻り、上述した処理を繰り返す。
【0027】
図7は、実施の形態2の音響装置100の受信部10´の音声データAの受信処理を示すフローチャートである。
メモリ管理部14が音声データAを受信すると(ステップST31)、メモリ部13´の一番新しい保管領域に受信した音声データAを格納する(ステップST32)。その後、フローはステップST31に戻り、上述した処理を繰り返す。
【0028】
図8は、実施の形態2の音響装置100の受信部10´の音声データB´の送信処理を示すフローチャートである。
受信部10´のメモリ管理部14が、比較部30´から取得要求を受信すると(ステップST41)、メモリ部13´にデータ送信要求を出力する(ステップST42)と共に、メモリ部13´内の一番古い保管領域に該当する第1のコーデック条件を条件付加部12´に出力する(ステップST43)。メモリ部13´は、一番古い保管領域から連続音声データA´を取り出し、条件付加部12´に出力する(ステップST44)。条件付加部12´は、ステップST44で送信された連続音声データA´の先頭にステップST43で送信された第1のコーデック条件を付加して音声データB´を生成し(ステップST45)、生成した音声データB´を比較部30´のコーデック条件抽出部31´に送信する(ステップST46)。その後、フローはステップST41に戻り、上述した処理を繰り返す。
【0029】
図9は、実施の形態2の音響装置100の条件付加部12´が生成した音声データB´の一例を示す説明図である。
例えば、第1のコーデック条件が同一である連続した音声データA1,A2がメモリ部13´の同一の保管領域に保管されている場合に、条件付加部12´は図9に示すように音声データA1およびA2を統合し、さらに先頭に第1のコーデック条件を付加して音声データB´を生成する。
【0030】
図9に示した音声データB´を条件付加部12´から取得した比較部30´では、コーデック条件抽出部31´が条件付加部12´により付加された第1のコーデック条件を抽出する。さらに第1のコーデック条件抽出後の音声データを音声データA1および音声データA2に分割し、分割した各音声データA1,A2から第2のコーデック条件を抽出する。抽出した第1および第2のコーデック条件および当該コーデック条件抽出後の音声データをエラー検出部32に出力する。
【0031】
エラー検出部32は、第1のコーデック条件と第2のコーデック条件とが一致するか判定を行う。この判定は、音声データA1およびA2に対して行われる。まず音声データA1の第1のコーデック条件と第2のコーデック条件が一致する場合には、音声データA1を構成していた音声データC1(不図示)をデコード部50に出力する。一方、デコード条件が一致しない場合には、復号処理におけるエラー発生を検知し、検知したエラーを上位ソフトウェア40に通知し、音声データC1を破棄する。デコード部50は、エラー検出部32から音声データC1が入力されると、初期化により設定された第1のコーデック条件により音声データC1をデコードする。音声データA2に対しても同一の処理を行う。
【0032】
次に、比較部30´の動作について説明する。
図10は、実施の形態2による音響装置100の比較部30´の動作を示すフローチャートである。なお、上記図4で示した実施の形態1の音響装置100と同一のステップには図4で使用した符号と同一の符号を付し、説明を省略または簡略化する。
なお、図10のフローチャートに示す動作の前提として、受信部10´は、図6から図8に示した処理を繰り返し行っているものとする。
【0033】
比較部30´のコーデック条件抽出部31´は、受信部10´のメモリ管理部14に対してデータ取得要求を出力する(ステップST51)。ステップST51のデータ取得要求に対して条件付加部12´から送信された音声データB´を受信し(ステップST52)、当該音声データB´から第1のコーデック条件を抽出する(ステップST53)。さらに、第1のコーデック条件を抽出した後の音声データから1つの音声データAを取得し(ステップST54)、取得した音声データAから第2のコーデック条件と音声データCに関するメディア情報を抽出する(ステップST14)。ステップST53およびステップST14で抽出されたデータはエラー検出部32に出力される。
【0034】
エラー検出部32は、ステップST53で抽出された第1のコーデック条件と、ステップST14で抽出された第2のコーデック条件とを比較し、一致するか判定を行う(ステップST15)。第1のコーデック条件と第2のコーデック条件が一致した場合(ステップST15;YES)、エラー検出部32は音声データCをデコード部50に出力し(ステップST16)、デコード部50がデコード処理を実行する(ステップST17)。一方、第1のコーデック条件と第2のコーデック条件が一致しない場合(ステップST15;NO)、復号処理におけるエラー発生を検知し、検知したエラーを上位ソフトウェア40に通知すると共に、音声データCを破棄する(ステップST18)。
【0035】
その後、コーデック条件抽出部31´は、ステップST53で取得した音声データB´に含まれていた全ての音声データAに対して処理を行ったか否か判定を行う(ステップST55)。全ての音声データAに対して処理を行った場合(ステップST55;YES)、ステップST51の処理に戻り、上述した処理を繰り返す。一方、全ての音声データAに対して処理を行っていない場合(ステップST55;NO)、ステップST54の処理に戻り、新たな音声データAを取得し、上述した処理を繰り返す。
【0036】
このように、連続した音声データAの第1のコーデック条件が同一であった場合に、当該連続した音声データAを統合し、且つ同一の第1のコーデック条件を付加するので、データ伝送の効率化を図ることができる。
【0037】
また、上述した実施の形態2のその他の構成として、メモリ管理部14が音声データAをメモリ部13´に保管する前に、音声データAと第1のコーデック条件とを対応付けた対応表を作成するように構成してもよい。
図11は、実施の形態2の音響装置の他の構成を示すブロック図である。なお、以下では、上記図5で示した音響装置100の構成要素と同一または相当する部分には実施の形態1で使用した符号と同一の符号を付して説明を省略または簡略化する。
【0038】
メモリ管理部14は、送信装置200から送信された音声データAを受信すると、受信した音声データAと当該音声データAの第1のコーデック条件とを対応付けた対応表を作成して管理すると共に、音声データAをメモリ部13に格納する。さらにメモリ管理部14は、比較部30のコーデック条件抽出部31´からデータ取得要求を受け取ると、管理している対応表を参照して最も古い音声データAから順に、連続し、且つ同一の第1のコーデック条件を持つ音声データAnの群を抽出し、抽出した音声データAnの群をメモリ部13から取り出し、連続音声データA´として条件付加部12´に出力する。また、連続音声データA´に該当する第1のコーデック条件を条件付加部12´に出力する。
【0039】
条件付加部12´は、入力された音声データA´に該当する第1のコーデック条件を付加して音声データB´を作成し、比較部30に送信する。
なお、メモリ部13は、保管領域を設けずに、実施の形態1と同様の構成としている。
【0040】
次に、実施の形態2の音響装置100の受信部10´の動作について説明する。
図12は、実施の形態2の音響装置100の受信部10´の対応表作成処理を示すフローチャートである。
メモリ管理部14は、音声データAを受信すると(ステップST61)、受信した音声データAと第1のコーデック条件との対応表を作成する(ステップST62)。メモリ管理部14は、音声データAをメモリ部13に格納する(ステップST63)。その後、フローはステップST61に戻り、上述した処理を繰り返す。
【0041】
図13は、実施の形態2の音響装置100の受信部10´の音声データの送信処理を示すフローチャートである。
メモリ管理部14は、比較部30´から音声データB´の取得要求を受信すると(ステップST71)、保管している対応表を参照し、古い順に、連続し、且つ同一の第1のコーデック条件を有する音声データAnの群を抽出する(ステップST72)。メモリ管理部14は、抽出した音声データAnの群に対応する音声データをメモリ部13から取得し(ステップST73)、取得した音声データAnの群を連続音声データA´として条件付加部12´に出力する(ステップST74)。一方、メモリ管理部14は、抽出した音声データAn群に該当する第1のコーデック条件を条件付加部12´に出力する(ステップST75)。
【0042】
条件付加部12´は、ステップST74で送信された連続音声データA´に、ステップST75で送信された第1のコーデック条件を付加して音声データB´を生成し(ステップST76)、生成した音声データB´を比較部30´のコーデック条件抽出部31´に送信する(ステップST77)。その後、フローはステップST71に戻り、上述した処理を繰り返す。
【0043】
以上のように、この実施の形態2によれば、変更された第1のコーデック条件が送信されると新たな保管領域の作成を要求すると共に、受信した音声データAを新たに作成された保管領域に格納するメモリ管理部と、同一の保管領域に保管された連続音声データA´の先頭に第1のコーデック条件を付加する条件付加部12´を備えるように構成したので、データ伝送の効率化を図ることができる。
【0044】
また、この実施の形態2によれば、受信した音声データAと第1のコーデック条件とを対応付けた対応表を作成して管理し、データ取得要求が入力されると当該対応表を参照して最も古い音声データAから順に、連続し、且つ同一の第1のコーデック条件を持つ連続音声データA´を抽出して対応する第1のコーデック条件と共に出力するメモリ管理部14と、メモリ管理部14から入力された連続音声データA´の先頭に第1のコーデック条件を付加する条件付加部12´を備えるように構成したので、データ伝送の効率化を図ることができる。
【0045】
実施の形態3.
この実施の形態3では、上述した実施の形態2の構成に加えて、連続音声データA´を構成する各音声データAにサイズ情報を付加する構成を示す。
例えば、Bluetooth(登録商標)を用いた通信において、音声データのメディア情報の位置(図2の音声データCのメディア情報の位置、以下ヘッダと記載する)にサイズ情報(サイズを算出するのに必要な情報)が付加される。しかし、送信装置200が音声データを分割した場合に、分割した音声データAのヘッダに付加されるサイズ情報は、音声データを分割する前の音声データサイズであるため、音声データB´のように音声データAを複数統合して比較部30に渡すと、音声データを取り出せないという不具合が発生する。
【0046】
ここで、図6に示した音声データB´を取得した比較部30を例に挙げて説明する。音声データA1、A2のヘッダには音声データA1,A2のサイズ(ただし、音声データA1,A2が分割されたデータの場合は分割前のサイズ)が記載されている。音声データA1,A2が分割されていない場合は、ヘッダに記載されたサイズ毎にデータ格納部300の先頭からデータを取り出せば音声データA1,A2を取り分けることが可能である。しかし、音声データA1,A2が分割されている場合は、分割後のA1,A2のサイズが把握できないため上述した手順を採用することができず、音声データA1,A2を取り出すことができない。
【0047】
すなわち、上述した実施の形態2のように、受信データAを逐次処理せずにメモリ部13´に溜め込み、複数の受信データA1,A2,・・・,Anを統合して比較部30に渡すことにより、「ヘッダに付加されたサイズ情報≠受信データAnのサイズ」且つ「実際の音声データサイズ(音声データB´のデータ格納サイズ)≠受信データAnのサイズ」となる場合に「受信データAnのサイズ」を算出することができない。
このような不具合を解消するために、この実施の形態3では、音声データAnを受信した際に、受信した音声データAnのサイズ情報を取得するように構成する。
【0048】
図14は、この実施の形態3による音響装置の構成を示すブロック図である。
上記図5で示した実施の形態2による音響装置100に、サイズ計算部15およびサイズ付加部16を追加して設けている。
サイズ計算部15は、受信した音声データAのサイズを計算する。サイズ付加部16は、サイズ計算部15が計算したサイズを音声データAの先頭に付加し、音声データAsを作成する。メモリ管理部14は、実施の形態2と同様に保管領域をメモリ部13´に作成する。さらに、サイズ付加部16から入力された音声データAsをメモリ部13´にある一番新しい保管領域に保管する。
【0049】
条件付加部12´は、比較部30´のコーデック条件抽出部31´からのデータ取得要求に応じて連続した複数の音声データAsを統合した連続音声データAs´を取得し、当該連続音声データAs´に対して、メモリ管理部14から通知された第1のコーデック条件を付加し、音声データBsを生成する。生成した音声データBsは比較部30´のコーデック条件抽出部31´に出力する。
【0050】
次に、動作について説明する。
図15は、実施の形態3による音響装置100の受信部10´´の音声データAの受信処理を示すフローチャートである。
サイズ計算部15が音声データAを受信すると(ステップST81)、受信した音声データAのサイズを計算する(ステップST82)。サイズ計算部15は、音声データAと、ステップST82で計算したサイズをサイズ付加部16に出力する(ステップST83)。サイズ付加部16は、ステップST83で入力された音声データAの先頭にサイズを付加して音声データAsを生成し、メモリ管理部14に出力する(ステップST84)。メモリ管理部14は、ステップST84で入力された音声データAsをメモリ部13´内の一番新しい保管領域に格納する(ステップST85)。その後、フローはステップST81の処理に戻り、上述した処理を繰り返す。
【0051】
なお、新たな保管領域の作成、データ取得要求に応じた音声データの送信、および比較部30´における比較判定処理は上述した実施の形態2と同一であるため、説明を省略する。また、実施の形態2のメモリ管理部14において対応表を作成する構成も適用可能である。この場合、サイズ計算部15およびサイズ付加部16が上記図15のステップST81からステップST84までの処理を行い、メモリ管理部14に音声データAsを出力した後、メモリ管理部14が音声データAsと第1のコーデック条件とを対応付けた対応表を作成し、保管する。以降の処理は実施の形態2と同一である。
【0052】
図16は、実施の形態3の音響装置の条件付加部が生成した音声データBsの一例を示す説明図である。
音声データBsは、2つの音声データA1およびA2で構成され、音声データA1の先頭にはサイズ情報301、音声データA2の先頭にはサイズ情報302がそれぞれ付加されている。これらのサイズ情報301,302は、受信部10´´のサイズ計算部15が音声データAを受信した際に計算したサイズである。
【0053】
コーデック条件抽出部31´は、第1のコーデック条件を抽出した音声データを分割して各音声データA1,A2,・・・,Anを取得する際に、付加されたサイズを参照しながら各音声データA1,A2,・・・,Anの取り出しを行うことができ、各音声データA1,A2,・・・,Anを正確に取り出すことができる。
【0054】
以上のように、この実施の形態3によれば、音声データA1,A2,・・・,Anを統合する際、各々のサイズを付加するように構成したので、コーデック条件抽出部において正確に音声データの取り出しを行うことができる。
【0055】
なお、本願発明の音響装置は、車載用オーディオプレーヤーや、携帯型オーディプレーヤーなど、種々のオーディオプレーヤーに適用可能である。
【0056】
なお、本願発明はその発明の範囲内において、各実施の形態の自由な組み合わせ、あるいは各実施の形態の任意の構成要素の変形、もしくは各実施の形態において任意の構成要素の省略が可能である。
【符号の説明】
【0057】
10,10´,10´´ 受信部、11,11´ 条件決定部、12,12´ 条件付加部、13,13´ メモリ部、13_1,13_2・・・、13_n 保管領域、14 メモリ管理部、15 サイズ計算部、16 サイズ付加部、20 制御部、30,30´ 比較部、31,31´ コーデック条件抽出部、32 エラー検出部、40 上位ソフトウェア、50 デコード部、100 音響装置、200 送信装置、300,300´ データ格納部。
【技術分野】
【0001】
この発明は、符号化データの復号に関し、特に復号処理の失敗を回避するための技術である。
【背景技術】
【0002】
従来、データ送受信におけるデータの復号方法として、事前に送受信先でネゴシエーションによりコーデック条件を決定し、決定したコーデック条件を受信側に設定すると共に、送信側はネゴシエーションにより決定されたコーデック条件で符号化した送信データを出力し、受信側において予め設定されたコーデック条件を用いて送信データを復号する方法が用いられている。しかし、上述した従来の復号方法では、送信側においてネゴシエーションにより決定された条件と異なるコーデック条件を用いて符号化される場合があり、この場合、受信側において送信データの復号に失敗し、異音が発生する。この復号の失敗を防止するためには、送信データに含まれるコーデック条件に従って、受信側のコーデック条件を常に変更するように構成してもよいが、コーデック条件を変更する度に復号部を初期化する必要が生じ、効率が悪いという問題があった。
【0003】
この対策として特許文献1には、送信側で、伝送データ列のフレームパターンに、音声データおよび誤り訂正データと共に周波数データまたはチャネルデータを付加して送信データとして送信し、受信側では、フレームパターンを検出し、付加されている周波数データまたはチャネルデータを検出し、受信側の設定した周波数またはチャネルと一致しない場合は音声またはデータを出力せず、一致している場合は音声コーデックを行い、音声またはデータとして出力する方法が開示されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2002−44703号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上述した特許文献1に開示された方法では、送信側で周波数データまたはチャネルデータを付加し、受信側で付加された周波数データまたはチャネルデータを検出して解析するため、受信側に解析処理機能を設ける必要があり、受信側の処理速度が低下し、効率性に欠けるという課題があった。さらに、送信データは種々の圧縮方法により圧縮される場合が想定され、受信側に各圧縮方法固有の解析処理を組み込む必要が生じ、汎用性に欠けるという課題があった。
【0006】
この発明は、上記のような課題を解決するためになされたもので、受信側の処理効率を維持し、且つ復号処理で復号ミスが発生するのを回避する音響装置および復号方法を提供することを目的とする。
【課題を解決するための手段】
【0007】
この発明に係る音響装置は、送信側における符号化処理、および受信した音声符号化データの復号処理に用いる第1のコーデック条件を決定する条件決定部と、音声符号化データを受信し、受信した音声符号化データに条件決定部が決定した第1のコーデック条件を付加する条件付加部と、条件付加部により第1のコーデック条件が付加された音声符号化データを格納するメモリ部とを有する受信部と、メモリ部から第1のコーデック条件が付加された音声符号化データを取得し、付加された第1のコーデック条件と、音声符号化データの送信側における符合化処理に用いられた第2のコーデック条件とを比較し、両者が一致した場合に音声符号化データを出力する比較部と、比較部から出力された音声符号化データを復号する復号部とを備えたものである。
【発明の効果】
【0008】
この発明によれば、受信側の処理性能を低下させることなく、復号処理において発生するエラーを事前に検知することができる。
【図面の簡単な説明】
【0009】
【図1】実施の形態1による音響装置の構成を示すブロック図である。
【図2】実施の形態1による音響装置の音声データの構造を示す説明図である。
【図3】実施の形態1による音響装置の受信部の動作を示すフローチャートである。
【図4】実施の形態1による音響装置の比較部の動作を示すフローチャートである。
【図5】実施の形態2による音響装置の構成を示すブロック図である。
【図6】実施の形態2による音響装置の受信部の保管領域作成処理を示すフローチャートである。
【図7】実施の形態2による音響装置の受信部の音声データの受信処理を示すフローチャートである。
【図8】実施の形態2による音響装置の受信部の音声データの送信処理を示すフローチャートである。
【図9】実施の形態2による音響装置の音声データB´の一例を示す説明図である。
【図10】実施の形態2による音響装置の比較部の動作を示すフローチャートである。
【図11】実施の形態2による音響装置の他の構成を示すブロック図である。
【図12】実施の形態2による音響装置の受信部の対応表作成処理を示すフローチャートである。
【図13】実施の形態2による音響装置の受信部の音声データの送信処理を示すフローチャートである。
【図14】実施の形態3による音響装置の構成を示すブロック図である。
【図15】実施の形態3による音響装置の受信部の音声データの受信処理を示すフローチャートである。
【図16】実施の形態3による音響装置の音声データBsの一例を示す説明図である。
【発明を実施するための形態】
【0010】
実施の形態1.
図1は、この発明の実施の形態1による音響装置100の構成を示すブロック図である。図1において、音響装置100は、受信部10、制御部20、比較部30、上位ソフトウェア40およびデコード部50で構成されている。また、音響装置100はオーディオプレーヤーなどのデータソースを提供する送信装置200と接続されている。なお、本発明が音響装置であり、送信装置200から音声データが提供される場合を例に説明するが、これは音声データの復号であれば、復号ミスが発生すると予測される音声データを復号せずに破棄した場合であっても、ユーザに違和感を与えることなく、音声の再生を行うことができるためである。
【0011】
受信部10は、条件決定部11、条件付加部12およびメモリ部13で構成されている。条件決定部11は、送信装置200から符号化された音声データを受信する前に、符号化条件(例えば、符号化の種別、およびサンプリング周波数など)を、送信装置200とネゴシエーションにより決定する。当該ネゴシエーションにより決定された符号化条件(以下、第1のコーデック条件と称する)は、条件付加部12および制御部20に出力される。条件付加部12は、送信装置200から符号化された音声データ(以下、音声データAと称する)を受信すると、受信した音声データに条件決定部11が決定した第1のコーデック条件を付加し、音声データBとしてメモリ部13に格納する。メモリ部13は、比較部30から入力されるデータ取得要求に応じて格納している音声データBの中から最も古いデータを出力する。
制御部20は、条件決定部11が決定した第1のコーデック条件を用いてデコード部50を初期化する。
【0012】
比較部30は、コーデック条件抽出部31およびエラー検出部32で構成されている。コーデック条件抽出部31は、受信部10のメモリ部13から取得した音声データBから、付加されている第1のコーデック条件を抽出する。さらに第1のコーデック条件抽出後の音声データから送信装置200側で符号化に用いられた第2のコーデック条件を抽出する。抽出した第1および第2のコーデック条件および当該コーデック条件抽出後の音声データ(以下、音声データCと称する)をエラー検出部32に出力する。エラー検出部32は、コーデック条件抽出部31において抽出された第1のコーデック条件と第2のコーデック条件とを比較し、コーデック条件が一致するか判定を行う。判定結果に応じて、音声データをデコード部50に出力、あるいは上位ソフトウェア40にエラーを通知すると共に音声データを破棄する。
【0013】
上位ソフトウェア40は、エラー検出部32からエラー通知を受けると、当該エラー通知を画面上などに表示する。また、エラー通知を音声などによりユーザに報知するように構成してもよい。
また、例えば上位ソフトウェア40に正常状態とエラー状態の2状態を持たせるように構成してもよい(初期状態は正常状態となる)。正常状態の際に、エラー検出部32からエラー通知を受けるとエラー状態に遷移する。
【0014】
一方、エラー状態の際に、エラー検出部32からエラー通知を受けなくなる、つまり正しく符号化された音声データAを受信できるようになった場合、正常状態に戻る。なお、この場合、上位ソフトウェア40は、エラー検出部32でエラー通知しない状態になったことを示す通知を受け取る。当該通知により正常状態に戻る判断を行う。
さらに、エラー状態の際に、エラー検出部32からエラー通知を連続して特定回数受け取り続けた場合、またはエラー状態が特定時間続いた場合、音楽を再生中にエラーが発生したことを示す警告をディスプレイなどに表示してユーザに報知する、またはユーザに別の音楽再生を促す。
【0015】
デコード部50は、制御部20を介して入力される第1のコーデック条件により初期化される。また、エラー検出部32から音声データCが入力されると、初期化により設定された第1のコーデック条件に基づいて音声データCをデコードする。デコードした音声データCを再生装置などの外部装置(不図示)に出力することにより、音声の再生が行われる。なお、音響装置100に再生手段を設けるように構成してもよい。
【0016】
次に、音声データの詳細な構造について説明する。
図2は、実施の形態1による音響装置100の音声データの構造を示す説明図である。
図2(a)は送信装置200が音響装置100に対して送信する音声データAの構造を示し、図2(b)はメモリ部13が格納する音声データBの構造を示す説明図である。
音声データAのデータ格納部300には、符号化された音声データC、当該音声データCの符号化に用いた第2のコーデック条件、および音声データCのメディア情報で構成されている。音声データBは、上述した音声データAのデータ格納部300に第1のコーデック条件が付加されている。当該第1のコーデック条件は条件付加部12により付加されたものである。比較部30は、音声データBの第1のコーデック条件と第2のコーデック条件とを比較し、一致するか判定を行う。
【0017】
次に、図3および図4を参照しながら実施の形態1による音響装置100の動作について説明する。なお、以下の説明では、条件決定部11が送信装置200とのネゴシエーションにより決定したコーデック条件を第1のコーデック条件、送信装置200における符号化で用いたコーデック条件を第2のコーデック条件、送信装置200から送信される音声データを音声データA、メモリ部13に格納される音声データを音声データB、およびデコード部50がデコードする音声データを音声データCとして説明する。
【0018】
まず、図3は実施の形態1による音響装置100の受信部10の動作を示すフローチャートである。
受信部10の条件付加部12は、送信装置200から音声データAを受信すると(ステップST1)、受信した音声データAに条件決定部11においてあらかじめ決定された第1のコーデック条件を付加し、音声データBを生成する(ステップST2)。生成した音声データBは、受信した順序でメモリ部13に格納する(ステップST3)。その後、フローはステップST1の処理に戻り、上述の処理を繰り返す。
【0019】
図4は、実施の形態1による音響装置100の比較部30の動作を示すフローチャートである。
比較部30のコーデック条件抽出部31は、受信部10のメモリ部13を参照して音声データBが格納されているか判定を行う(ステップST11)。メモリ部13に音声データBが格納されていない場合(ステップST11;NO)、ステップST11の処理に戻る。一方、メモリ部13に音声データBが格納されている場合(ステップST11;YES)、コーデック条件抽出部31はメモリ部13に対してデータ取得要求を出力し、メモリ部13に格納された音声データBを取得する(ステップST12)。さらに、コーデック条件抽出部31は、取得した音声データBから第1のコーデック条件を抽出し(ステップST13)、さらに第2のコーデック条件および音声データCに関するメディア情報を抽出する(ステップST14)。ステップST13およびステップST14で抽出されたデータはエラー検出部32に出力される。
【0020】
エラー検出部32は、ステップST13で抽出された第1のコーデック条件と、ステップST14で抽出された第2のコーデック条件とを比較し、一致するか判定を行う(ステップST15)。第1のコーデック条件と第2のコーデック条件が一致した場合(ステップST15;YES)、エラー検出部32は音声データCをデコード部50に出力し(ステップST16)、デコード部50がデコード処理を実行する(ステップST17)。一方、第1のコーデック条件と第2のコーデック条件が一致しない場合(ステップST15;NO)、復号処理におけるエラー発生を検知し、検知したエラーを上位ソフトウェア40に通知すると共に、音声データCを破棄する(ステップST18)。ステップST17あるいはステップST18の処理が終了するとフローはステップST11の処理に戻り、上述した処理を繰り返す。
【0021】
以上のように、この実施の形態1によれば、送信装置200とネゴシエーションにより決定した第1のコーデック条件を、受信した音声データに付加する条件付加部12と、第1のコーデック条件を付加した音声データを格納するメモリ部13とを備えた受信部10と、メモリ部13に格納された音声データを取得し、条件付加部12により付加された第1のコーデック条件と、音声データを符号化した際の第2のコーデック条件とを抽出し、抽出した第1のコーデック条件と第2のコーデック条件が一致する場合には、音声データをデコード部50に出力し、一致しない場合には上位ソフトウェア40にエラー検知を通知すると共に音声データを破棄する比較部30とを備えるように構成したので、デコード部におけるデコード処理の失敗を事前に防ぐと共に、復号処理におけるエラー発生を検知した場合には検知したエラーを上位ソフトウェアに通知することができる。
【0022】
実施の形態2.
この実施の形態2では、第1コーデック条件が同一の音声データAを複数統合して比較部30に提供する構成を示す。
図5は、実施の形態2による音響装置100の構成を示すブロック図である。この実施の形態2の音響装置は、上記図1で示した実施の形態1の受信部10にメモリ管理部14を追加して構成している。なお、以下では、実施の形態1による音響装置100の構成要素と同一または相当する部分には実施の形態1で使用した符号と同一の符号を付して説明を省略または簡略化する。
【0023】
受信部10´の条件決定部11´は、第1のコーデック条件が変更されると、制御部20および受信部10´のメモリ管理部14に出力する。メモリ管理部14は、第1のコーデック条件を受信する度に、新たな保管領域をメモリ部13´に作成する。メモリ管理部14は、送信装置200から送信された音声データAを受信すると、当該音声データAをメモリ部13´にある一番新しい保管領域に保管する。さらにメモリ管理部14は、比較部30´のコーデック条件抽出部31´からデータ取得要求を受け取ると、メモリ部13´にデータ送信要求を出力すると共に、該当する第1のコーデック条件を条件付加部12´に通知する。
【0024】
メモリ部13´は、音声データAを格納する保管領域を有している。図5では、複数の保管領域13_1,13_2,・・・,13_nが作成された場合を示している。メモリ部13´は、データ送信要求に基づいて、同一の保管領域に保管された連続した複数の音声データA1,A2,・・・,An(以下、連続音声データA´と称する)を条件付加部12´に出力する。条件付加部12´は、連続音声データA´に対して、メモリ管理部14から通知された第1のコーデック条件を付加し、音声データB´を生成する。生成した音声データB´は比較部30´のコーデック条件抽出部31´に出力する。
【0025】
なお、メモリ部13´に保管領域が複数存在する場合には、一番古い保管領域から連続音声データA´を取り出し、条件付加部12´に出力する。条件付加部12´は、入力された連続音声データA´の先頭に、メモリ管理部14から通知された第1のコーデック条件を付けて比較部30´に渡す。なお、比較部30´に対して一度に渡すのは一つの保管領域にあるデータのみであり、複数の保管領域を跨って音声データの取り出しは行わない。
【0026】
次に、受信部10´の動作についてより詳細に説明する。
図6は、実施の形態2の音響装置100の受信部10´の保管領域作成処理を示すフローチャートである。
受信部10´の条件決定部11´が送信装置200とネゴシエーションを行う(ステップST21)。条件決定部11´は第1のコーデック条件が前回と変わったか確認を行い(ステップST22)、前回と変わっていない場合(ステップST22;NO)にはステップST21の処理に戻る。一方、前回と変わっている場合(ステップST22;YES)、条件決定部11´は第1のコーデック条件をメモリ管理部14に送信する(ステップST23)。ステップST23で第1のコーデック条件が送信されたメモリ管理部14は、メモリ部13´に新たな保管領域の作成を要求する(ステップST24)。メモリ部13´は、ステップST24の要求に応じて、新たな保管領域を作成する(ステップST25)。その後、フローはステップST21に戻り、上述した処理を繰り返す。
【0027】
図7は、実施の形態2の音響装置100の受信部10´の音声データAの受信処理を示すフローチャートである。
メモリ管理部14が音声データAを受信すると(ステップST31)、メモリ部13´の一番新しい保管領域に受信した音声データAを格納する(ステップST32)。その後、フローはステップST31に戻り、上述した処理を繰り返す。
【0028】
図8は、実施の形態2の音響装置100の受信部10´の音声データB´の送信処理を示すフローチャートである。
受信部10´のメモリ管理部14が、比較部30´から取得要求を受信すると(ステップST41)、メモリ部13´にデータ送信要求を出力する(ステップST42)と共に、メモリ部13´内の一番古い保管領域に該当する第1のコーデック条件を条件付加部12´に出力する(ステップST43)。メモリ部13´は、一番古い保管領域から連続音声データA´を取り出し、条件付加部12´に出力する(ステップST44)。条件付加部12´は、ステップST44で送信された連続音声データA´の先頭にステップST43で送信された第1のコーデック条件を付加して音声データB´を生成し(ステップST45)、生成した音声データB´を比較部30´のコーデック条件抽出部31´に送信する(ステップST46)。その後、フローはステップST41に戻り、上述した処理を繰り返す。
【0029】
図9は、実施の形態2の音響装置100の条件付加部12´が生成した音声データB´の一例を示す説明図である。
例えば、第1のコーデック条件が同一である連続した音声データA1,A2がメモリ部13´の同一の保管領域に保管されている場合に、条件付加部12´は図9に示すように音声データA1およびA2を統合し、さらに先頭に第1のコーデック条件を付加して音声データB´を生成する。
【0030】
図9に示した音声データB´を条件付加部12´から取得した比較部30´では、コーデック条件抽出部31´が条件付加部12´により付加された第1のコーデック条件を抽出する。さらに第1のコーデック条件抽出後の音声データを音声データA1および音声データA2に分割し、分割した各音声データA1,A2から第2のコーデック条件を抽出する。抽出した第1および第2のコーデック条件および当該コーデック条件抽出後の音声データをエラー検出部32に出力する。
【0031】
エラー検出部32は、第1のコーデック条件と第2のコーデック条件とが一致するか判定を行う。この判定は、音声データA1およびA2に対して行われる。まず音声データA1の第1のコーデック条件と第2のコーデック条件が一致する場合には、音声データA1を構成していた音声データC1(不図示)をデコード部50に出力する。一方、デコード条件が一致しない場合には、復号処理におけるエラー発生を検知し、検知したエラーを上位ソフトウェア40に通知し、音声データC1を破棄する。デコード部50は、エラー検出部32から音声データC1が入力されると、初期化により設定された第1のコーデック条件により音声データC1をデコードする。音声データA2に対しても同一の処理を行う。
【0032】
次に、比較部30´の動作について説明する。
図10は、実施の形態2による音響装置100の比較部30´の動作を示すフローチャートである。なお、上記図4で示した実施の形態1の音響装置100と同一のステップには図4で使用した符号と同一の符号を付し、説明を省略または簡略化する。
なお、図10のフローチャートに示す動作の前提として、受信部10´は、図6から図8に示した処理を繰り返し行っているものとする。
【0033】
比較部30´のコーデック条件抽出部31´は、受信部10´のメモリ管理部14に対してデータ取得要求を出力する(ステップST51)。ステップST51のデータ取得要求に対して条件付加部12´から送信された音声データB´を受信し(ステップST52)、当該音声データB´から第1のコーデック条件を抽出する(ステップST53)。さらに、第1のコーデック条件を抽出した後の音声データから1つの音声データAを取得し(ステップST54)、取得した音声データAから第2のコーデック条件と音声データCに関するメディア情報を抽出する(ステップST14)。ステップST53およびステップST14で抽出されたデータはエラー検出部32に出力される。
【0034】
エラー検出部32は、ステップST53で抽出された第1のコーデック条件と、ステップST14で抽出された第2のコーデック条件とを比較し、一致するか判定を行う(ステップST15)。第1のコーデック条件と第2のコーデック条件が一致した場合(ステップST15;YES)、エラー検出部32は音声データCをデコード部50に出力し(ステップST16)、デコード部50がデコード処理を実行する(ステップST17)。一方、第1のコーデック条件と第2のコーデック条件が一致しない場合(ステップST15;NO)、復号処理におけるエラー発生を検知し、検知したエラーを上位ソフトウェア40に通知すると共に、音声データCを破棄する(ステップST18)。
【0035】
その後、コーデック条件抽出部31´は、ステップST53で取得した音声データB´に含まれていた全ての音声データAに対して処理を行ったか否か判定を行う(ステップST55)。全ての音声データAに対して処理を行った場合(ステップST55;YES)、ステップST51の処理に戻り、上述した処理を繰り返す。一方、全ての音声データAに対して処理を行っていない場合(ステップST55;NO)、ステップST54の処理に戻り、新たな音声データAを取得し、上述した処理を繰り返す。
【0036】
このように、連続した音声データAの第1のコーデック条件が同一であった場合に、当該連続した音声データAを統合し、且つ同一の第1のコーデック条件を付加するので、データ伝送の効率化を図ることができる。
【0037】
また、上述した実施の形態2のその他の構成として、メモリ管理部14が音声データAをメモリ部13´に保管する前に、音声データAと第1のコーデック条件とを対応付けた対応表を作成するように構成してもよい。
図11は、実施の形態2の音響装置の他の構成を示すブロック図である。なお、以下では、上記図5で示した音響装置100の構成要素と同一または相当する部分には実施の形態1で使用した符号と同一の符号を付して説明を省略または簡略化する。
【0038】
メモリ管理部14は、送信装置200から送信された音声データAを受信すると、受信した音声データAと当該音声データAの第1のコーデック条件とを対応付けた対応表を作成して管理すると共に、音声データAをメモリ部13に格納する。さらにメモリ管理部14は、比較部30のコーデック条件抽出部31´からデータ取得要求を受け取ると、管理している対応表を参照して最も古い音声データAから順に、連続し、且つ同一の第1のコーデック条件を持つ音声データAnの群を抽出し、抽出した音声データAnの群をメモリ部13から取り出し、連続音声データA´として条件付加部12´に出力する。また、連続音声データA´に該当する第1のコーデック条件を条件付加部12´に出力する。
【0039】
条件付加部12´は、入力された音声データA´に該当する第1のコーデック条件を付加して音声データB´を作成し、比較部30に送信する。
なお、メモリ部13は、保管領域を設けずに、実施の形態1と同様の構成としている。
【0040】
次に、実施の形態2の音響装置100の受信部10´の動作について説明する。
図12は、実施の形態2の音響装置100の受信部10´の対応表作成処理を示すフローチャートである。
メモリ管理部14は、音声データAを受信すると(ステップST61)、受信した音声データAと第1のコーデック条件との対応表を作成する(ステップST62)。メモリ管理部14は、音声データAをメモリ部13に格納する(ステップST63)。その後、フローはステップST61に戻り、上述した処理を繰り返す。
【0041】
図13は、実施の形態2の音響装置100の受信部10´の音声データの送信処理を示すフローチャートである。
メモリ管理部14は、比較部30´から音声データB´の取得要求を受信すると(ステップST71)、保管している対応表を参照し、古い順に、連続し、且つ同一の第1のコーデック条件を有する音声データAnの群を抽出する(ステップST72)。メモリ管理部14は、抽出した音声データAnの群に対応する音声データをメモリ部13から取得し(ステップST73)、取得した音声データAnの群を連続音声データA´として条件付加部12´に出力する(ステップST74)。一方、メモリ管理部14は、抽出した音声データAn群に該当する第1のコーデック条件を条件付加部12´に出力する(ステップST75)。
【0042】
条件付加部12´は、ステップST74で送信された連続音声データA´に、ステップST75で送信された第1のコーデック条件を付加して音声データB´を生成し(ステップST76)、生成した音声データB´を比較部30´のコーデック条件抽出部31´に送信する(ステップST77)。その後、フローはステップST71に戻り、上述した処理を繰り返す。
【0043】
以上のように、この実施の形態2によれば、変更された第1のコーデック条件が送信されると新たな保管領域の作成を要求すると共に、受信した音声データAを新たに作成された保管領域に格納するメモリ管理部と、同一の保管領域に保管された連続音声データA´の先頭に第1のコーデック条件を付加する条件付加部12´を備えるように構成したので、データ伝送の効率化を図ることができる。
【0044】
また、この実施の形態2によれば、受信した音声データAと第1のコーデック条件とを対応付けた対応表を作成して管理し、データ取得要求が入力されると当該対応表を参照して最も古い音声データAから順に、連続し、且つ同一の第1のコーデック条件を持つ連続音声データA´を抽出して対応する第1のコーデック条件と共に出力するメモリ管理部14と、メモリ管理部14から入力された連続音声データA´の先頭に第1のコーデック条件を付加する条件付加部12´を備えるように構成したので、データ伝送の効率化を図ることができる。
【0045】
実施の形態3.
この実施の形態3では、上述した実施の形態2の構成に加えて、連続音声データA´を構成する各音声データAにサイズ情報を付加する構成を示す。
例えば、Bluetooth(登録商標)を用いた通信において、音声データのメディア情報の位置(図2の音声データCのメディア情報の位置、以下ヘッダと記載する)にサイズ情報(サイズを算出するのに必要な情報)が付加される。しかし、送信装置200が音声データを分割した場合に、分割した音声データAのヘッダに付加されるサイズ情報は、音声データを分割する前の音声データサイズであるため、音声データB´のように音声データAを複数統合して比較部30に渡すと、音声データを取り出せないという不具合が発生する。
【0046】
ここで、図6に示した音声データB´を取得した比較部30を例に挙げて説明する。音声データA1、A2のヘッダには音声データA1,A2のサイズ(ただし、音声データA1,A2が分割されたデータの場合は分割前のサイズ)が記載されている。音声データA1,A2が分割されていない場合は、ヘッダに記載されたサイズ毎にデータ格納部300の先頭からデータを取り出せば音声データA1,A2を取り分けることが可能である。しかし、音声データA1,A2が分割されている場合は、分割後のA1,A2のサイズが把握できないため上述した手順を採用することができず、音声データA1,A2を取り出すことができない。
【0047】
すなわち、上述した実施の形態2のように、受信データAを逐次処理せずにメモリ部13´に溜め込み、複数の受信データA1,A2,・・・,Anを統合して比較部30に渡すことにより、「ヘッダに付加されたサイズ情報≠受信データAnのサイズ」且つ「実際の音声データサイズ(音声データB´のデータ格納サイズ)≠受信データAnのサイズ」となる場合に「受信データAnのサイズ」を算出することができない。
このような不具合を解消するために、この実施の形態3では、音声データAnを受信した際に、受信した音声データAnのサイズ情報を取得するように構成する。
【0048】
図14は、この実施の形態3による音響装置の構成を示すブロック図である。
上記図5で示した実施の形態2による音響装置100に、サイズ計算部15およびサイズ付加部16を追加して設けている。
サイズ計算部15は、受信した音声データAのサイズを計算する。サイズ付加部16は、サイズ計算部15が計算したサイズを音声データAの先頭に付加し、音声データAsを作成する。メモリ管理部14は、実施の形態2と同様に保管領域をメモリ部13´に作成する。さらに、サイズ付加部16から入力された音声データAsをメモリ部13´にある一番新しい保管領域に保管する。
【0049】
条件付加部12´は、比較部30´のコーデック条件抽出部31´からのデータ取得要求に応じて連続した複数の音声データAsを統合した連続音声データAs´を取得し、当該連続音声データAs´に対して、メモリ管理部14から通知された第1のコーデック条件を付加し、音声データBsを生成する。生成した音声データBsは比較部30´のコーデック条件抽出部31´に出力する。
【0050】
次に、動作について説明する。
図15は、実施の形態3による音響装置100の受信部10´´の音声データAの受信処理を示すフローチャートである。
サイズ計算部15が音声データAを受信すると(ステップST81)、受信した音声データAのサイズを計算する(ステップST82)。サイズ計算部15は、音声データAと、ステップST82で計算したサイズをサイズ付加部16に出力する(ステップST83)。サイズ付加部16は、ステップST83で入力された音声データAの先頭にサイズを付加して音声データAsを生成し、メモリ管理部14に出力する(ステップST84)。メモリ管理部14は、ステップST84で入力された音声データAsをメモリ部13´内の一番新しい保管領域に格納する(ステップST85)。その後、フローはステップST81の処理に戻り、上述した処理を繰り返す。
【0051】
なお、新たな保管領域の作成、データ取得要求に応じた音声データの送信、および比較部30´における比較判定処理は上述した実施の形態2と同一であるため、説明を省略する。また、実施の形態2のメモリ管理部14において対応表を作成する構成も適用可能である。この場合、サイズ計算部15およびサイズ付加部16が上記図15のステップST81からステップST84までの処理を行い、メモリ管理部14に音声データAsを出力した後、メモリ管理部14が音声データAsと第1のコーデック条件とを対応付けた対応表を作成し、保管する。以降の処理は実施の形態2と同一である。
【0052】
図16は、実施の形態3の音響装置の条件付加部が生成した音声データBsの一例を示す説明図である。
音声データBsは、2つの音声データA1およびA2で構成され、音声データA1の先頭にはサイズ情報301、音声データA2の先頭にはサイズ情報302がそれぞれ付加されている。これらのサイズ情報301,302は、受信部10´´のサイズ計算部15が音声データAを受信した際に計算したサイズである。
【0053】
コーデック条件抽出部31´は、第1のコーデック条件を抽出した音声データを分割して各音声データA1,A2,・・・,Anを取得する際に、付加されたサイズを参照しながら各音声データA1,A2,・・・,Anの取り出しを行うことができ、各音声データA1,A2,・・・,Anを正確に取り出すことができる。
【0054】
以上のように、この実施の形態3によれば、音声データA1,A2,・・・,Anを統合する際、各々のサイズを付加するように構成したので、コーデック条件抽出部において正確に音声データの取り出しを行うことができる。
【0055】
なお、本願発明の音響装置は、車載用オーディオプレーヤーや、携帯型オーディプレーヤーなど、種々のオーディオプレーヤーに適用可能である。
【0056】
なお、本願発明はその発明の範囲内において、各実施の形態の自由な組み合わせ、あるいは各実施の形態の任意の構成要素の変形、もしくは各実施の形態において任意の構成要素の省略が可能である。
【符号の説明】
【0057】
10,10´,10´´ 受信部、11,11´ 条件決定部、12,12´ 条件付加部、13,13´ メモリ部、13_1,13_2・・・、13_n 保管領域、14 メモリ管理部、15 サイズ計算部、16 サイズ付加部、20 制御部、30,30´ 比較部、31,31´ コーデック条件抽出部、32 エラー検出部、40 上位ソフトウェア、50 デコード部、100 音響装置、200 送信装置、300,300´ データ格納部。
【特許請求の範囲】
【請求項1】
送信側において符号化処理された音声符号化データを受信し、復号する音響装置において、
前記送信側における符号化処理、および前記受信した音声符号化データの復号処理に用いる第1のコーデック条件を決定する条件決定部と、前記音声符号化データを受信し、受信した音声符号化データに前記条件決定部が決定した第1のコーデック条件を付加する条件付加部と、前記条件付加部により第1のコーデック条件が付加された音声符号化データを格納するメモリ部とを有する受信部と、
前記メモリ部から第1のコーデック条件が付加された音声符号化データを取得し、前記付加された第1のコーデック条件と、前記音声符号化データの送信側における符合化処理に用いられた第2のコーデック条件とを比較し、両者が一致した場合に前記音声符号化データを出力する比較部と、
前記比較部から出力された音声符号化データを復号する復号部とを備えたことを特徴とする音響装置。
【請求項2】
送信側において符号化処理された音声符号化データを受信し、復号する音響装置において、
前記送信側における符号化処理、および前記受信した音声符号化データの復号処理に用いる第1のコーデック条件を決定すると共に、前記第1のコーデック条件に変更が生じた場合に、変更後の第1のコーデック条件を通知する条件決定部と、前記条件決定部から変更後の第1のコーデック条件が通知されると、新たな保管領域の作成を指示すると共に、前記音声符号化データを受信し、連続し、且つ同一の第1のコーデック条件を有する音声符号化データを、前記作成を指示した新たな保管領域に格納するメモリ管理部と、前記メモリ管理部の作成指示に応じて、新たな保管領域を作成するメモリ部と、前記メモリ部の保管領域に格納された連続した音声符号化データを取得して統合し、当該統合した連続音声符号化データに該当する第1のコーデック条件を付加する条件付加部とを有する受信部と、
前記条件付加部から第1のコーデック条件が付加された連続音声符号化データを取得し、前記付加された第1のコーデック条件と、前記連続音声符号化データを構成する各音声符号化データの送信側における符号化処理に用いられた第2のコーデック条件とを比較し、両者が一致した音声符号化データを出力する比較部と、
前記比較部から出力された音声符号化データを復号する復号部とを備えたことを特徴とする音響装置。
【請求項3】
前記メモリ管理部は、前記比較部からデータ取得要求が入力されると、前記メモリ部の保管領域のうち最も古い領域に格納された連続する音声符号化データと、当該連続する音声符号化データに該当する第1のコーデック条件を前記条件付加部に出力し、
前記条件付加部は、前記メモリ保管部から入力された連続する音声符号化データを統合し、当該統合した連続音声符号化データに前記メモリ管理部から入力された第1のコーデック条件を付加することを特徴とする請求項2記載の音響装置。
【請求項4】
送信側において符号化処理された音声符号化データを受信し、復号する音響装置において、
前記送信側における符号化処理、および前記受信した音声符号化データの復号処理に用いる第1のコーデック条件を決定する条件決定部と、前記音声符号化データを受信し、当該受信した音声符号化データと、前記条件決定部が決定した第1のコーデック条件とを対応付けて管理するメモリ管理部と、前記メモリ管理部が受信した音声符号化データを蓄積するメモリ部と、前記メモリ管理部が前記音声符号化データと第1のコーデック条件との対応付けに基づいて前記メモリ部から取得した、連続し、且つ同一の第1のコーデック条件を有する音声符号化データを統合し、当該統合した連続音声符号化データに該当する第1のコーデック条件を付加する条件付加部とを有する受信部と、
前記条件付加部から前記第1のコーデック条件が付加された連続音声符号化データを取得し、前記付加された第1のコーデック条件と、前記連続音声符号化データを構成する各音声符号化データの送信側における符号化処理に用いられた第2のコーデック条件とを比較し、両者が一致した音声符号化データを出力する比較部と、
前記比較部から出力された音声符号化データを復号する復号部とを備えたことを特徴とする音響装置。
【請求項5】
前記メモリ管理部は、前記比較部からデータ取得要求が入力されると、音声符号化データと第1のコーデック条件との対応付けに基づいて、最も古い音声符号化データから順に、連続し、且つ同一の第1のコーデック条件を有する音声符号化データを前記メモリ部から取得し、該当する第1のコーデック条件と共に前記条件付加部に出力することを特徴とする請求項4記載の音響装置。
【請求項6】
前記受信部は、前記音声符号化データを受信し、受信した音声符号化データのサイズを算出するサイズ計算部と、前記サイズ計算部が算出したサイズをサイズ情報として前記音声符号化データに付加するサイズ付加部とを備え、
前記メモリ管理部は、前記サイズ付加部によりサイズ情報が付加された音声符号化データを受信することを特徴とする請求項2から請求項5のうちのいずれか1項記載の音響装置。
【請求項7】
前記比較部は、前記第1のコーデック条件と前記第2のコーデック条件とが一致しない場合に、上位ソフトウェアに対して音声符号化データの復号にエラーが発生する旨を通知することを特徴とする請求項1から請求項6のうちのいずれか1項記載の音響装置。
【請求項8】
受信した音声符号化データを復号する復号方法において、
条件決定部が、前記送信側における符号化処理、および前記受信した音声符号化データの復号処理に用いる第1のコーデック条件を決定するステップと、
条件付加部が、前記音声符号化データを受信し、受信した音声符号化データに前記条件決定部が決定した第1のコーデック条件を付加するステップと、
メモリ部が、前記第1のコーデック条件が付加された音声符号化データを格納するステップと、
比較部が、格納された前記第1のコーデック条件が付加された音声符号化データを取得し、前記付加された第1のコーデック条件と、前記音声符号化データの送信側における符合化処理に用いられた第2のコーデック条件とを比較し、両者が一致した場合に前記音声符号化データを出力するステップと、
復号部が、前記比較部から出力された音声符号化データを復号するステップとを備えたことを特徴とする復号方法。
【請求項1】
送信側において符号化処理された音声符号化データを受信し、復号する音響装置において、
前記送信側における符号化処理、および前記受信した音声符号化データの復号処理に用いる第1のコーデック条件を決定する条件決定部と、前記音声符号化データを受信し、受信した音声符号化データに前記条件決定部が決定した第1のコーデック条件を付加する条件付加部と、前記条件付加部により第1のコーデック条件が付加された音声符号化データを格納するメモリ部とを有する受信部と、
前記メモリ部から第1のコーデック条件が付加された音声符号化データを取得し、前記付加された第1のコーデック条件と、前記音声符号化データの送信側における符合化処理に用いられた第2のコーデック条件とを比較し、両者が一致した場合に前記音声符号化データを出力する比較部と、
前記比較部から出力された音声符号化データを復号する復号部とを備えたことを特徴とする音響装置。
【請求項2】
送信側において符号化処理された音声符号化データを受信し、復号する音響装置において、
前記送信側における符号化処理、および前記受信した音声符号化データの復号処理に用いる第1のコーデック条件を決定すると共に、前記第1のコーデック条件に変更が生じた場合に、変更後の第1のコーデック条件を通知する条件決定部と、前記条件決定部から変更後の第1のコーデック条件が通知されると、新たな保管領域の作成を指示すると共に、前記音声符号化データを受信し、連続し、且つ同一の第1のコーデック条件を有する音声符号化データを、前記作成を指示した新たな保管領域に格納するメモリ管理部と、前記メモリ管理部の作成指示に応じて、新たな保管領域を作成するメモリ部と、前記メモリ部の保管領域に格納された連続した音声符号化データを取得して統合し、当該統合した連続音声符号化データに該当する第1のコーデック条件を付加する条件付加部とを有する受信部と、
前記条件付加部から第1のコーデック条件が付加された連続音声符号化データを取得し、前記付加された第1のコーデック条件と、前記連続音声符号化データを構成する各音声符号化データの送信側における符号化処理に用いられた第2のコーデック条件とを比較し、両者が一致した音声符号化データを出力する比較部と、
前記比較部から出力された音声符号化データを復号する復号部とを備えたことを特徴とする音響装置。
【請求項3】
前記メモリ管理部は、前記比較部からデータ取得要求が入力されると、前記メモリ部の保管領域のうち最も古い領域に格納された連続する音声符号化データと、当該連続する音声符号化データに該当する第1のコーデック条件を前記条件付加部に出力し、
前記条件付加部は、前記メモリ保管部から入力された連続する音声符号化データを統合し、当該統合した連続音声符号化データに前記メモリ管理部から入力された第1のコーデック条件を付加することを特徴とする請求項2記載の音響装置。
【請求項4】
送信側において符号化処理された音声符号化データを受信し、復号する音響装置において、
前記送信側における符号化処理、および前記受信した音声符号化データの復号処理に用いる第1のコーデック条件を決定する条件決定部と、前記音声符号化データを受信し、当該受信した音声符号化データと、前記条件決定部が決定した第1のコーデック条件とを対応付けて管理するメモリ管理部と、前記メモリ管理部が受信した音声符号化データを蓄積するメモリ部と、前記メモリ管理部が前記音声符号化データと第1のコーデック条件との対応付けに基づいて前記メモリ部から取得した、連続し、且つ同一の第1のコーデック条件を有する音声符号化データを統合し、当該統合した連続音声符号化データに該当する第1のコーデック条件を付加する条件付加部とを有する受信部と、
前記条件付加部から前記第1のコーデック条件が付加された連続音声符号化データを取得し、前記付加された第1のコーデック条件と、前記連続音声符号化データを構成する各音声符号化データの送信側における符号化処理に用いられた第2のコーデック条件とを比較し、両者が一致した音声符号化データを出力する比較部と、
前記比較部から出力された音声符号化データを復号する復号部とを備えたことを特徴とする音響装置。
【請求項5】
前記メモリ管理部は、前記比較部からデータ取得要求が入力されると、音声符号化データと第1のコーデック条件との対応付けに基づいて、最も古い音声符号化データから順に、連続し、且つ同一の第1のコーデック条件を有する音声符号化データを前記メモリ部から取得し、該当する第1のコーデック条件と共に前記条件付加部に出力することを特徴とする請求項4記載の音響装置。
【請求項6】
前記受信部は、前記音声符号化データを受信し、受信した音声符号化データのサイズを算出するサイズ計算部と、前記サイズ計算部が算出したサイズをサイズ情報として前記音声符号化データに付加するサイズ付加部とを備え、
前記メモリ管理部は、前記サイズ付加部によりサイズ情報が付加された音声符号化データを受信することを特徴とする請求項2から請求項5のうちのいずれか1項記載の音響装置。
【請求項7】
前記比較部は、前記第1のコーデック条件と前記第2のコーデック条件とが一致しない場合に、上位ソフトウェアに対して音声符号化データの復号にエラーが発生する旨を通知することを特徴とする請求項1から請求項6のうちのいずれか1項記載の音響装置。
【請求項8】
受信した音声符号化データを復号する復号方法において、
条件決定部が、前記送信側における符号化処理、および前記受信した音声符号化データの復号処理に用いる第1のコーデック条件を決定するステップと、
条件付加部が、前記音声符号化データを受信し、受信した音声符号化データに前記条件決定部が決定した第1のコーデック条件を付加するステップと、
メモリ部が、前記第1のコーデック条件が付加された音声符号化データを格納するステップと、
比較部が、格納された前記第1のコーデック条件が付加された音声符号化データを取得し、前記付加された第1のコーデック条件と、前記音声符号化データの送信側における符合化処理に用いられた第2のコーデック条件とを比較し、両者が一致した場合に前記音声符号化データを出力するステップと、
復号部が、前記比較部から出力された音声符号化データを復号するステップとを備えたことを特徴とする復号方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【公開番号】特開2013−11650(P2013−11650A)
【公開日】平成25年1月17日(2013.1.17)
【国際特許分類】
【出願番号】特願2011−142739(P2011−142739)
【出願日】平成23年6月28日(2011.6.28)
【出願人】(000006013)三菱電機株式会社 (33,312)
【Fターム(参考)】
【公開日】平成25年1月17日(2013.1.17)
【国際特許分類】
【出願日】平成23年6月28日(2011.6.28)
【出願人】(000006013)三菱電機株式会社 (33,312)
【Fターム(参考)】
[ Back to top ]