(57)【要約】      （修正有）【課題】送信されてくる符号化データをリアルタイムで再生する際、通信状況に応じて、符号化データの圧縮率が変化して送信されてくる場合でも、受信装置側でバッファオーバフローを発生させないようにする信号処理装置及び信号処理方法並びにプログラムを提供する。【解決手段】送信されてきた音声データからなる符号化データを受信バッファにバッファリングさせる。このとき、受信バッファにバッファリングされている符号化データの量を、符号化方式に応じた処理単位で管理する。【選択図】図１
2016126037.tif 000002
【特許請求の範囲】
【請求項１】
送信されてくる所定の符号化方式で符号化されたデータからなる符号化データを受信する受信部と、
前記受信部により受信された符号化データを格納する格納部と、
前記格納部に格納された符号化データを前記所定の符号化方式に対応する手法で復号する復号部と、
前記格納部に格納された符号化データの、前記復号部において復号される際の、前記所定の符号化方式における復号処理単位の数に応じて、前記復号部による復号を許可するように制御する復号管理部と
を含む信号処理装置。
【請求項２】
前記復号管理部は、前記格納部に格納された符号化データの、前記復号処理単位の数が所定の閾値よりも大きい場合、前記復号部による復号を許可するように制御する
請求項１に記載の信号処理装置。
【請求項３】
前記格納部の出力を、前記復号部、または、それ以外に切り替える切替部をさらに含み、
前記復号管理部は、前記格納部に格納された符号化データの、前記復号処理単位の数が所定の閾値よりも大きい場合、前記切替部を制御して、前記格納部の出力を、前記復号部に接続させるようにすることで、前記復号部による復号を許可するように制御する
請求項１に記載の信号処理装置。
【請求項４】
前記格納部に格納された符号化データの、前記復号処理単位の数に基づいて、伝送環境の悪化により前記符号化データの送信状態が滞った後、前記伝送環境が復帰し、纏まって前記符号化データが送信されてくることで、前記復号部により全ての前記符号化データを復号できない状態に陥らないようにする対策である復帰対策処理を行う復帰対策モードをオンとするか否かを判定し、前記復帰対策処理を行う復帰対策部をさらに含む
請求項１に記載の信号処理装置。
【請求項５】
前記復帰対策部は、前記格納部に格納された符号化データの、前記復号処理単位の数が０であるとき、前記復帰対策モードをオンにし、
前記復帰対策モードがオンであるとき、前記格納部に格納されている前記符号化データの、前記復号処理単位の数が、前記所定の閾値に基づいた基準値よりも大きいとき、前記格納部に格納されている符号化データの一部を、前記復号処理単位で破棄する破棄管理部をさらに含む
請求項４に記載の信号処理装置。
【請求項６】
前記破棄管理部は、前記格納部に格納されている符号化データのうち、前記復号処理単位の数で、前記所定の閾値に基づいた基準値よりも多い分の符号化データを、前記復号処理単位で破棄する
請求項５に記載の信号処理装置。
【請求項７】
前記破棄管理部は、前記格納部に格納されている符号化データのうち、前記復号処理単位の数の単位時間当たりの増加量に対応付けて設定される量の前記符号化データを前記復号処理単位で破棄する
請求項５に記載の信号処理装置。
【請求項８】
前記格納部の出力を、前記復号部、または、それ以外に切り替える切替部と、
前記格納部に格納されている符号化データの一部を、前記復号処理単位で破棄する破棄部とをさらに含み、
前記破棄管理部は、前記格納部に格納されている符号化データの一部を、前記復号処理単位で破棄するとき、前記切替部を制御して、前記格納部の出力を、前記破棄部に接続させるようにすることで、前記格納部に格納されている符号化データの一部を、前記復号処理単位で破棄する
請求項５に記載の信号処理装置。
【請求項９】
前記復帰対策部は、前記格納部に格納された符号化データの、前記復号処理単位の数の所定の期間における平均および分散に基づいて、所定の時間間隔で状態変数を算出し、所定の基準値との差分絶対値が所定の閾値よりも小さい状態が継続するとき、前記復帰対策モードをオフにする
請求項４に記載の信号処理装置。
【請求項１０】
前記復帰対策部により、前記所定の時間間隔で算出される前記状態変数と所定の基準値との差分絶対値が、所定の閾値と比較され、その比較結果を格納する配列をさらに含み、
前記復帰対策部は、前記配列に格納された比較結果に基づいて、前記所定の時間間隔で算出される状態変数が、所定の基準値との差分絶対値が所定の閾値よりも小さい状態が継続するとき、前記復帰対策モードをオフにする
請求項４に記載の信号処理装置。
【請求項１１】
前記符号化データは、スピーカにより音声として出力するための音声データを符号化したものであり、
前記復号部により復号された前記音声データに基づいた、前記スピーカからの音声の出力レベルを調整するミュート制御部をさらに含み、
前記復帰対策モードがオンである場合、前記ミュート制御部は、前記復号部により復号された前記音声データに基づいた、前記スピーカからの音声の出力レベルが低下するように調整する
請求項４に記載の信号処理装置。
【請求項１２】
送信されてくる所定の符号化方式で符号化されたデータからなる符号化データを受信し、
受信された符号化データを格納し、
格納された符号化データを前記所定の符号化方式に対応する手法で復号し、
格納された符号化データの、復号される際の、前記所定の符号化方式における復号処理単位の数に応じて、復号を許可するように制御する
ステップを含む
信号処理方法。
【請求項１３】
送信されてくる所定の符号化方式で符号化されたデータからなる符号化データを受信する受信部と、
前記受信部により受信された符号化データを格納する格納部と、
前記格納部に格納された符号化データを前記所定の符号化方式に対応する手法で復号する復号部と、
前記格納部に格納された符号化データの、前記復号部において復号される際の、前記所定の符号化方式における復号処理単位の数に応じて、前記復号部による復号を許可するように制御する復号管理部と
してコンピュータを機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、信号処理装置、および信号処理方法、並びにプログラムに関し、特に、無線送信されてくるデータを通信状況に応じて、圧縮率を変化させて送信されてくるような符号化データを再生する際、再生開始時の圧縮率によらず再生遅延時間を一定にできるようにした信号処理装置、および信号処理方法、並びにプログラムに関する。
【背景技術】
【０００２】
Bluetooth Advanced Audio Distribution Profile（以降、Bluetooth A2DPとも称する）と呼ばれる、リアルタイムで無線伝送しながら再生する再生システムがある。この再生システムにおいては、受信機側では、符号化されたオーディオデータ（以下、単に、符号化データとも称する）を受信機側のバッファ（以下、単に、受信バッファとも称する）に一定量蓄積してから再生することで、音切れを防止するという技術が採用されている（特許文献１参照）。
【０００３】
上述した特許文献１の技術における再生開始の判断は、蓄積されたデータ量（バイト数やワード数等）に応じたものとされており、例えば、受信バッファにおけるバッファリングサイズの６割に相当する符号化データを受信（蓄積）したら再生を開始するといった判断がなされている。更に、伝送状況を推定して圧縮率を変更することも提案されている。
【０００４】
ところが、このようなシステムでは、符号化処理の圧縮率を変えると再生開始までの時間、すなわち、遅延時間が変化し、また、再生中に圧縮率を変化させると受信側の受信バッファのバッファリングサイズを超える可能性があった。
【０００５】
そこで、受信バッファにおけるデータオーバフローを回避するように、送受信を適応的に変化させる技術が提案されている（特許文献２参照）。すなわち、この特許文献２における手法は、受信バッファが規定以上のバイト数のデータをバッファリングした場合、受信側の装置が送信側へステータスを送信し、送信側で送信するデータフローを制御して変化させることで、受信バッファにおけるオーバフローを回避するものである。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００３−３０９５４１号公報
【特許文献２】特開２０１４−１３１３０１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献２の技術を用いた場合、送信側では、送信できないデータが発生する可能性があり、このとき、送信側のバッファに蓄積される事が想像される。そのため伝送環境が悪化し、送信が滞った場合、送信側のバッファが蓄積されていない場合と比較して、早くオーバフローする可能性があり、また、圧縮率に応じて再生開始時間を変化させる事には対応できない。
【０００８】
例えば、送受信が滞った場合等に発生する音切れ後に、遅延時間を一定に保つためには、受信側で符号化データを通常よりも速く消費するか破棄する必要がある。
【０００９】
遅延時間が変化する要因は、例えば、無線伝送で伝送環境が悪化した場合には、送信未完了データを送信側で一定量蓄積することにより生じる。
【００１０】
蓄積された送信未完了データは、本来、受信バッファに蓄積され、再生されるはずの符号化データであるため早期に送受信されることが望ましい。そのため、伝送環境が回復してから通常よりも送信間隔を詰めて連続して送信する事が行われる。ところが、受信側で通常よりも再生速度を速くするなど対策しない限り遅延時間は、送信側のバッファ容量と受信側のバッファ容量の差分等の影響で変化してしまう。
【００１１】
ところが、再生開始時の圧縮率と音切れ後の処理時の圧縮率が同じ保証は無いため、データ量で管理する場合には、符号化データを用いて遅延時間の補償ができない恐れがあった。
【００１２】
また、再生しながら早送りや間引きしながら再生する方法での復帰も考えられるが、復帰中の再生音は、早送りや間引きしながら再生されることにより、音程が変化してしまうため、聴視者に違和感を抱かせる恐れがあった。
【００１３】
本技術は、このような状況に鑑みてなされたものであり、特に、送信されてくる符号化データをリアルタイムで再生する際、通信状況に応じて、符号化データの圧縮率が変化して送信されてくる場合でも、受信側で遅延時間の影響を受けることなく再生できるようにするものである。
【課題を解決するための手段】
【００１４】
本技術の一側面の信号処理装置は、送信されてくる所定の符号化方式で符号化されたデータからなる符号化データを受信する受信部と、前記受信部により受信された符号化データを格納する格納部と、前記格納部に格納された符号化データを前記所定の符号化方式に対応する手法で復号する復号部と、前記格納部に格納された符号化データの、前記復号部において復号される際の、前記所定の符号化方式における復号処理単位の数に応じて、前記復号部による復号を許可するように制御する復号管理部とを含む。
【００１５】
前記復号管理部には、前記格納部に格納された符号化データの、前記復号処理単位の数が所定の閾値よりも大きい場合、前記復号部による復号を許可するように制御させるようにすることができる。
【００１６】
前記格納部の出力を、前記復号部、または、それ以外に切り替える切替部をさらに含ませるようにすることができ、前記復号管理部には、前記格納部に格納された符号化データの、前記復号処理単位の数が所定の閾値よりも大きい場合、前記切替部を制御して、前記格納部の出力を、前記復号部に接続させるようにすることで、前記復号部による復号を許可するように制御させるようにすることができる。
【００１７】
前記格納部に格納された符号化データの、前記復号処理単位の数に基づいて、伝送環境の悪化により前記符号化データの送信状態が滞った後、前記伝送環境が復帰し、纏まって前記符号化データが送信されてくることで、前記復号部により全ての前記符号化データを復号できない状態に陥らないようにする対策である復帰対策処理を行う復帰対策モードをオンとするか否かを判定し、前記復帰対策処理を行う復帰対策部をさらに含ませるようにすることができる。
【００１８】
前記復帰対策部には、前記格納部に格納された符号化データの、前記復号処理単位の数が０であるとき、前記復帰対策モードをオンにさせるようにすることができ、前記復帰対策モードがオンであるとき、前記格納部に格納されている前記符号化データの、前記復号処理単位の数が、前記所定の閾値に基づいた基準値よりも大きいとき、前記格納部に格納されている符号化データの一部を、前記復号処理単位で破棄する破棄管理部をさらに含ませるようにすることができる。
【００１９】
前記破棄管理部には、前記格納部に格納されている符号化データのうち、前記復号処理単位の数で、前記所定の閾値に基づいた基準値よりも多い分の符号化データを、前記復号処理単位で破棄させるようにすることができる。
【００２０】
前記破棄管理部には、前記格納部に格納されている符号化データのうち、前記復号処理単位の数の単位時間当たりの増加量に対応付けて設定される量の前記符号化データを前記復号処理単位で破棄させるようにすることができる。
【００２１】
前記格納部の出力を、前記復号部、または、それ以外に切り替える切替部と、前記格納部に格納されている符号化データの一部を、前記復号処理単位で破棄する破棄部とをさらに含ませるようにすることができ、前記破棄管理部には、前記格納部に格納されている符号化データの一部を、前記復号処理単位で破棄するとき、前記切替部を制御して、前記格納部の出力を、前記破棄部に接続させるようにすることで、前記格納部に格納されている符号化データの一部を、前記復号処理単位で破棄させるようにすることができる。
【００２２】
前記復帰対策部は、前記格納部に格納された符号化データの、前記復号処理単位の数の所定の期間における平均および分散に基づいて、所定の時間間隔で状態変数を算出し、所定の基準値との差分絶対値が所定の閾値よりも小さい状態が継続するとき、前記復帰対策モードをオフにさせるようにすることができる。
【００２３】
前記復帰対策部により、前記所定の時間間隔で算出される前記状態変数と所定の基準値との差分絶対値が、所定の閾値と比較され、その比較結果を格納する配列をさらに含ませるようにすることができ、前記復帰対策部には、前記配列に格納された比較結果に基づいて、前記所定の時間間隔で算出される状態変数が、所定の基準値との差分絶対値が所定の閾値よりも小さい状態が継続するとき、前記復帰対策モードをオフにさせるようにすることができる。
【００２４】
前記符号化データは、スピーカにより音声として出力するための音声データを符号化したものとすることができ、前記復号部により復号された前記音声データに基づいた、前記スピーカからの音声の出力レベルを調整するミュート制御部をさらに含み、前記復帰対策モードがオンである場合、前記ミュート制御部には、前記復号部により復号された前記音声データに基づいた、前記スピーカからの音声の出力レベルが低下するように調整させることができる。
【００２５】
本技術の一側面の信号処理方法は、送信されてくる所定の符号化方式で符号化されたデータからなる符号化データを受信し、受信された符号化データを格納し、格納された符号化データを前記所定の符号化方式に対応する手法で復号し、格納された符号化データの、復号される際の、前記所定の符号化方式における復号処理単位の数に応じて、復号を許可するように制御するステップを含む。
【００２６】
本技術の一側面のプログラムは、送信されてくる所定の符号化方式で符号化されたデータからなる符号化データを受信する受信部と、前記受信部により受信された符号化データを格納する格納部と、前記格納部に格納された符号化データを前記所定の符号化方式に対応する手法で復号する復号部と、前記格納部に格納された符号化データの、前記復号部において復号される際の、前記所定の符号化方式における復号処理単位の数に応じて、前記復号部による復号を許可するように制御する復号管理部としてコンピュータを機能させる。
【００２７】
本技術の一側面においては、送信されてくる所定の符号化方式で符号化されたデータからなる符号化データが受信され、受信された符号化データが格納され、格納された符号化データが前記所定の符号化方式に対応する手法で復号され、格納された符号化データの、復号される際の、前記所定の符号化方式における復号処理単位の数に応じて、復号が許可されるように制御される。
【００２８】
本技術の一側面の信号処理装置は、それぞれ独立した装置であっても良いし、信号処理を実現するブロックであっても良い。
【発明の効果】
【００２９】
本技術の一側面によれば、送信されてくる符号化データをリアルタイムで再生する際、通信状況に応じて、符号化データの圧縮率が変化して送信されてくる場合でも、受信装置側で遅延時間の影響をうけることなく再生することが可能となる。
【図面の簡単な説明】
【００３０】
【図１】本技術を適用したオーディオ再生システムの第１の実施の形態の構成例を説明する図である。
【図２】図１のオーディオ再生システムにおける再生処理を説明するフローチャートである。
【図３】図１のオーディオ再生システムにおける復帰対策処理を説明するフローチャートである。
【図４】図１のオーディオ再生システムにおける復帰対策処理における記録フレーム数の時間変化を説明する図である。
【図５】本技術を適用したオーディオ再生システムの第２の実施の形態の構成例を説明する図である。
【図６】図５のオーディオ再生システムにおける復帰対策処理を説明するフローチャートである。
【図７】図５のオーディオ再生システムにおける復帰対策処理における記録フレーム数の時間変化を説明する図である。
【図８】汎用のパーソナルコンピュータの構成例を説明する図である。
【発明を実施するための最良の形態】
【００３１】
＜オーディオ再生システムの第１の実施の形態の構成例＞
図１は、本技術を適用したオーディオ再生システムの構成例を示している。
【００３２】
図１のオーディオ再生システムは、Bluetoothモジュール１１、受信再生部１２、スピーカ１３、および送信部２１より構成されている。図１のオーディオ再生システムにおいては、送信部２１が、Bluetooth Advanced Audio Distribution Profile（以降、Bluetooth A2DPとも称する）により符号化されたオーディオデータである符号化データを送信し、受信再生部１２が、Bluetoothモジュール１１を介してこれを受信し、復号して音声としてスピーカ１３より出力させる。この際、受信再生部１２は、Bluetooth A2DPにおけるオーディオ符号化方式の最小処理単位であるフレーム単位で符号化データのバッファリングを管理することで、通信状況に応じて、符号化データの圧縮率が変化して送信されてくる場合でも、遅延時間の影響を受けることなく再生できるようにする。
【００３３】
Bluetoothモジュール１１は、送信部２１より送信されてきたBluetooth A2DPのパケットを受信し、L2CAP（Logical Link Control and Adaptation Protocol）プロトコルに従って、リンク・マネージャ、ベースバンド、及びRF（Radio Frequency）の各層の処理を行い、ベースバンドパケットを、HCI（Host Controller Interface）経由で受信再生部１２の受信処理部３１に出力する。
【００３４】
受信再生部１２は、例えば、いわゆるHostCPU（Host Central Processing Units）であり、受信処理部３１、コーデック部３２、受信バッファ３３、再生制御部３４、スイッチ３５、復号部３６、データ破棄部３７、およびミュート制御部３８を備えている。
【００３５】
尚、図１の例においては、Bluetoothモジュール１１および受信再生部１２は、個別に設けられた構成例が示されているが、これらは一体の構成であってもよい。
【００３６】
また、本実施の形態においては、説明を簡単にするために、送信側で、１つのパケットで送信するフレーム数をA2DPのメディアペイロードの先頭部分に記録する例を用いて説明するものとするが、送信側で記録せずに、例えば、受信側でメディアペイロードをパースして、フレーム数を算出するようにしてもよいものである。
【００３７】
受信処理部３１は、HCI経由でBluetoothモジュール１１から受信データを受信し、L2CAP並びにAVDTP（AV Distribution Transport Protocol）の処理を行って、メディアペイロードを復元し、コーデック部３２に出力する。
【００３８】
コーデック部３２は、フレーム数算出部３２ａを備えており、受信処理部３１より供給されてくるメディアペイロードに記録された符号化データのフレーム数の情報を算出させて復元し、再生制御部３４に受信フレーム数の情報として供給する。また、コーデック部３２は、メディアペイロードに記録された、符号化データを復元し、受信バッファ３３に格納させる。
【００３９】
尚、ここでいうフレームとは、オーディオ符号化方式、例えば、AAC（Advanced Audio Coding）や、ATRAC（Adaptive TRansform Acoustic Coding）等で、それぞれ規格化された符号化変換の処理単位を指すものである。また、以降において、フレーム単位での処理を前提として説明するものとするが、処理単位は符号化方式に応じてフレーム以外のものであってもよい。また、符号化方式についても、上述した以外の符号化方式であっても良い。
【００４０】
再生制御部３４は、コーデック部３２より供給されてくる受信フレーム数から、復号部３６より供給されてくる、使用フレーム数、及び、データ破棄部３７より供給されてくる、破棄フレーム数を減算することにより、受信バッファ３３に格納されている符号化データをフレーム数で表した記録フレーム数を更新する。また、ここでいう、使用フレーム数とは、復号部３６により、受信バッファ３３に記録されている記録フレームが読み出されて再生されたフレーム数である。ここで、破棄フレーム数とは、データ破棄部３６により、受信バッファ３３に記録されている符号化データのうち、破棄した符号化データに対応するフレーム数である。
【００４１】
さらに、再生制御部３４は、まだ再生を開始していない場合、記録フレーム数が、所定の閾値に達したか否かを確認し、所定の閾値に達した場合、再生許可モードをオンにすると共に、スイッチ３５を制御して、受信バッファ３３に記録されている符号化データを復号部３６に供給させて再生を開始させる。この所定の閾値は設計時に予め設定しておいても良いし、使用者により調整されるようにしても良いものである。再生制御部３４は、ミュート制御部３８を制御して、復号部３６よりスピーカ１３に出力される音声出力にミュートを掛ける。
【００４２】
また、再生制御部３４は、再生管理部３４ａ、復帰対策部３４ｂ、判定配列３４ｃ、および破棄管理部３４ｄを備えている。再生管理部３４ａは、上述した記録フレーム数を算出すると共に、記録フレーム数と、所定の閾値とを比較し、所定の閾値よりも大きい場合、再生許可モードのフラグをオンにし、スイッチ３５を端子３５ａに接続して、受信バッファ３３に記録されている符号化データを順次復号部３６に供給させて、オーディオの再生を許可する。
【００４３】
復帰対策部３４ｂは、記録フレーム数が０であるか否かに基づいて、復帰対策モードのフラグをオンに設定する。記録フレーム数が０になるということは、伝送状態が悪化することにより送信部２１から送信されてくるデータが受信できない状態となり、受信バッファ３３に記録されている符号化データがなくなっているものとみなされる。このような場合、伝送状態が回復すると、未送信であった符号化データが送られてくることにより、再生できる状態に復帰することになる。
【００４４】
しかしながら、このようにオーディオを再生できる状態に復帰する際、未送信であった符号化データが一気に大量に送られてくることにより、受信バッファ３３においてバッファオーバフローが発生する恐れがある。そこで、復帰対策部３４ｂは、復帰対策モードのフラグをオンにして、破棄管理部３４ｄと協働して、この復帰対策処理を実行し、例えば、受信バッファ３３の符号化データを破棄するなどしてバッファオーバフローの発生を抑制する。また、復帰対策部３４ｂは、復帰対策処理を実行するに当たり、破棄すべきフレームがない状態における、記録フレーム数の変化の指標を示す状態変数を求め、状態変数と所定の閾値との比較結果を、FIFOからなる判定配列３４ｃに順次記憶させていく。そして、復帰対策部３４ｂは、判定配列３４ｃに記憶されている比較結果に基づいて、復帰対策モードを終了させるか否かを判定する。
【００４５】
破棄管理部３４ｄは、復帰対策モードのフラグがオンにされると、記録フレーム数に応じて、受信バッファ３３に記録されている符号化データのうち、破棄するべきフレーム数を算出する。そして、破棄管理部３４ｄは、スイッチ３５を制御して、端子３５ｂに接続させ、受信バッファ３３に記憶された符号化データのうち、算出された破棄すべきフレーム数の符号化データをデータ破棄部３７に供給して破棄させる。
【００４６】
スイッチ３５は、再生制御部３４により制御されて、受信バッファ３３の出力が、復号部３６に出力されるように端子３５ａに接続する、データ破棄部３７に出力されるように端子３５ｂに接続する、またはそれらのいずれにも出力されないように端子３５ａ，３５ｂのいずれにも接続しない状態の、いずれかに切り替える。
【００４７】
復号部３６は、スイッチ３５が再生制御部３４により制御されて、受信バッファ３３から符号化データが供給可能な状態になると、デコード設定に応じて、一定時間ごとに受信バッファ３３から符号化データを取り出し、復号処理して、ミュート制御部３８を介して、スピーカ１３に出力し、音声として出力させる。例えば、受信バッファ３３は、FIFO（Fast In Fast Out）形式で構成されており、復号部３６は、順次古いものから順に符号化データを取り出して音声として再生し、スピーカ１３より出力する。
【００４８】
また、データ破棄部３７は、スイッチ３５が再生制御部３４により制御されて、受信バッファ３３から符号化データが供給可能な状態になると、受信バッファ３３から符号化データを読み出して、破棄する。
【００４９】
＜図１の受信再生部による再生処理＞
次に、図１のオーディオ再生システムによる再生処理について説明する。尚、ここでは、送信部２１より順次、L2CAP並びにAVDTPの処理により音声を再生するための符号化データが送信され、受信再生部１２がこれを受信して音声として再生する処理について説明する。
【００５０】
ステップＳ１１において、Bluetoothモジュール１１は、送信部２１より音声データからなるBluetooth A2DPのパケットが送信されてきて受信されたか否かを判定する。そして、例えば、送信部２１より音声データからなるBluetooth A2DPのパケットが無線通信により送信されてきて受信されている場合、処理は、ステップＳ１２に進む。
【００５１】
ステップＳ１２において、Bluetoothモジュール１１は、Bluetooth A2DPのパケットを受信し、L2CAP（Logical Link Control and Adaptation Protocol）プロトコルに従って、リンク・マネージャ、ベースバンド、及びRF（Radio Frequency）の各層の処理を行い、ベースバンドパケットを、HCI（Host Controller Interface）経由で受信再生部１２の受信処理部３１に出力する。受信処理部３１は、受信したベースバンドパケットからメディアペイロードデータを復元してコーデック部３２に供給する。
【００５２】
ステップＳ１３において、コーデック部３２は、フレーム数算出部３２ａを制御して、受信したメディアペイロードデータから、音声信号の処理単位となる、オーディオ符号化方式のフレーム数を受信フレーム数として算出させて、再生制御部３４に供給する。また、コーデック部３２は、メディアペイロードデータより符号化データをデコードして復元し、受信バッファ３３に供給して格納させる。
【００５３】
ステップＳ１４において、再生制御部３４は、再生管理部３４ａを制御して、復号部３６により、受信バッファ３３より読み出されて、再生処理された使用フレーム数、およびデータ破棄部３７により、受信バッファ３３より読み出されて、破棄された破棄フレーム数の和を、直前の記録フレーム数から減算させる。さらに、再生制御部３４は、再生管理部３４ａを制御して、減算結果に、受信フレーム数を加算させることで、受信バッファ３３に記録されている現在の記録フレーム数を算出させる。すなわち、現在の記録フレーム数=直前の記録フレーム数−（破棄フレーム数+使用フレーム数）＋受信フレーム数として表現される。再生管理部３４ａは、以降において、この処理を繰り返すことで、現在の記録フレーム数を順次更新する。尚、最初の処理では、直前の記録フレーム数、使用フレーム数、および破棄フレーム数はいずれも０ということになるので、受信フレーム数が、記録フレーム数となる。
【００５４】
ステップＳ１５において、再生制御部３４は、復帰対策部３４ｂを制御して、復帰対策処理を実行させ、伝送環境の悪化により符号化データが受信できず、音切れが発生した後、伝送環境が復帰し、符号化データを受信することが可能となり、音声を再び出力できるようになったときのための復帰対策処理を施すようにさせる。尚、復帰対策処理については、図３のフローチャートを参照して、詳細を後述する。
【００５５】
ステップＳ１６において、再生制御部３４は、再生管理部３４ａを制御して、再生許可モードのフラグがオンではなく、再生許可モードのフラグがオンであるか否かを新たに判定する必要があるか否かを判定させる。ステップＳ１６において、再生許可モードがオンではなく、新たに再生許可モードをオンとするか否かを判定させる必要がある場合、再生管理部３４ａは、再生許可モードであるか否かを判定する必要があるものとみなし、処理は、ステップＳ１７に進む。
【００５６】
ステップＳ１７において、再生管理部３４ａは、受信バッファ３３に現在記録されている記録フレーム数が、所定の閾値よりも大きいか否かに基づいて、再生許可モードをオンとするか否かを判定する。ステップＳ１７において、例えば、記録フレーム数が所定の閾値よりも大きい場合、ステップＳ１８において、再生管理部３４ａは、再生許可モードのフラグをオンに設定する。尚、ステップＳ１７において、例えば、記録フレーム数が所定の閾値よりも小さい場合、ステップＳ１９において、再生管理部３４ａは、再生許可モードのフラグをオフとする。
【００５７】
ステップＳ２０において、再生管理部３４ａは、再生許可モードがオンであるか否かを判定し、再生許可モードがオンである場合、処理は、ステップＳ２１に進む。
【００５８】
ステップＳ２１において、再生管理部３４ａは、スイッチ３５を制御して、受信バッファ３３より復号部３６に符号化データが供給可能な状態に制御し、符号化データを復号部３６に供給する。復号部３６は、符号化データを読み出して復号し、音声データを生成し、ミュート制御部３８を介してスピーカ１３より音声を出力させて、再生させる。
【００５９】
尚、最初の処理においては、ミュート制御部３８は、デフォルトでミュートをオフの状態としているので、スピーカ１３より音声が出力されることになる。また、以降において、ミュート制御部３８がミュートをオンの状態にしている場合、復号部３６から音声信号はスピーカ１３に出力されるが、スピーカ１３から音声は出力されない。
【００６０】
ステップＳ２２において、受信処理部３１は、処理の終了が指示されているか否かを判定し、終了が指示されている場合、処理を終了する。また、ステップＳ２２において、処理の終了が指示されていない場合、処理は、ステップＳ２３に進む。
【００６１】
ステップＳ２３において、受信処理部３１は、所定時間が経過したか否かを判定し、所定時間が経過するまで、同様の処理を繰り返し、所定時間が経過した場合、処理は、ステップＳ１１に戻る。すなわち、ステップＳ１１乃至Ｓ２３の一連の処理は、終了が指示されるまで、所定の時間間隔で繰り返し実行される。
【００６２】
また、ステップＳ１１において、パケットが受信されない場合、ステップＳ１２乃至Ｓ１４の処理がスキップされる。さらに、ステップＳ１６において、再生許可モードがオンであるか否かを判定する必要が無い場合、ステップＳ１７乃至Ｓ１９の処理がスキップされる。
【００６３】
また、ステップＳ２０において、再生許可モードではない場合、ステップＳ２１の処理はスキップされて、再生処理がなされない。
【００６４】
以上の処理により、受信バッファ３３に蓄積される符号化データを順次読み出して、復号し再生できるように許可する再生許可モードのフラグをオンにするか否かを、記録フレーム数といった、符号化方式の処理単位であるフレーム単位で判定されるようにした。これにより、通信中に符号化方式が変更される、または、圧縮率が変更されるといった状況になっても、フレーム数という処理単位で管理することができるので、遅延時間を一定の範囲で補償することが可能となり、受信バッファ３３のバッファオーバフローの発生を抑制することが可能となる。
【００６５】
＜図１の受信再生部による復帰対策処理＞
次に、図３のフローチャートを参照して、復帰対策処理について説明する。この復帰対策処理は、オーディオ信号の再生中に、伝送環境が悪化して伝送が滞って音切れが生じた後、伝送環境が改善し、滞った分の符号化データが一気に送信されてくることにより、受信バッファ３３のオーバフローなどが発生し、遅延時間の補償ができないといった状態を回避するための対策処理である。
【００６６】
ステップＳ４１において、再生制御部３４は、復帰対策部３４ｂを制御して、復帰対策モードがオンであるか否かを判定させる。より詳細には、復帰対策部３４ｂは、復帰対策モードのフラグがオンにされているか否かを判定する。ステップＳ４１において、例えば、復帰対策モードのフラグがオンにされていない場合、処理は、ステップＳ５２に進む。
【００６７】
ステップＳ５２において、復帰対策部３４ｂは、再生管理部３４ａに問い合わせ、再生許可モードのフラグがオンにされているか否かを判定する。ステップＳ５２において、再生許可モードであるとみなされた場合、処理は、ステップＳ５３に進む。
【００６８】
ステップＳ５３において、復帰対策部３４ｂは、記録フレーム数が０であるか否かを判定する。すなわち、伝送環境の悪化に伴って、送信されてくる符号化データが受信できず、蓄積していた符号化データを再生して使い切ってしまったか否かが判定される。ステップＳ５３において、記録フレーム数が０であると判定された場合、処理は、ステップＳ５４に進む。つまり、この場合、伝送環境が悪化して、十分に符号化データが受信できない状態が継続し、再生が不能な状態になっている。
【００６９】
ステップＳ５４において、復帰対策部３４ｂは、復帰対策モードのフラグをオンにして復帰対策モードに入り、復帰対策モードにおける初期化処理を行う。ここでの初期化処理は、例えば、後述する状態変数、および復帰対策モードの終了を判定するための判定配列３４ｃの各値を初期化する処理である。
【００７０】
ステップＳ５５において、復帰対策部３４ｂは、ミュート制御部３８を制御して、以降において、復号部３６より出力されるオーディオデータによるスピーカ１３からの音声の出力を抑制する。すなわち、以降においては、伝送環境が悪化して伝送が滞った分の符号化データが集中的に送信されてくることになるため、受信バッファ３３のオーバフローを回避するため、後述する処理により、一部の符号化データが破棄されるといった処理がなされることになる。このため、再生される音声が、ノイズ混じりとなる、または、異常音として出力される恐れがあるため、この間の音声出力を抑制するためにミュート制御部３８によるミュートをオンの状態とする。
【００７１】
ステップＳ５６において、再生制御部３４は、受信バッファ３３の記録フレーム数が０になっているので、再生許可モードのフラグをオフに設定し、再生許可モードを終了させて、復帰対策処理を終了させる。
【００７２】
また、この後、図２のフローチャートによる一連の処理の後、再び、復帰対策処理が開始されると、ステップＳ４１においては、復帰対策モードのフラグがオンになっているので、復帰対策モードであるものとみなされて、処理は、ステップＳ４２に進む。
【００７３】
ステップＳ４２において、再生制御部３４は、破棄管理部３４ｄを制御して、破棄すべきフレーム数を算出させる。より詳細には、破棄管理部３４ｄは、例えば、再生許可モードのフラグを立てる際に、記録フレーム数と比較する所定の閾値に一定量のマージンを持たせた基準値として破棄閾値を設定し、記録フレーム数のうち、この破棄閾値を超えたフレーム数を、破棄すべきフレーム数として算出する。また、破棄管理部３４ｄは、例えば、基準フレーム数を超えた場合、設計時に設定する所定のフレーム数を破棄すべきフレーム数として算出するようにしても良い。
【００７４】
ステップＳ４３において、復帰対策部３４ｂは、状態変数を算出して更新する。ここで、状態変数とは、例えば、設計時に決定された所定の観測時間内の記録フレーム数の平均および分散が所定の範囲内の値であるか否かを示す指標を数値化したものである。例えば、設計時に決定された所定の観測時間内の記録フレーム数の平均が、再生許可モードのフラグを判定するための所定の閾値の±１０％以内に平均が収まっているか否かを示す指標を数値化した値や、分散が設計時に定めた基準範囲に収まっているか否かを示す指標を数値化した値が状態変数として用いられる。
【００７５】
ここでは、復帰対策部３４ｂは、例えば、各基準を比率で比較し、その比較結果を乗じた値を状態変数とする。より具体的には、再生制御部３４は、例えば、上述した所定の観測時間内の記録フレーム数の平均が、再生許可モードのフラグを判定する際の閾値の90%であって、上述した所定の観測時間内の記録フレーム数の分散が基準値の80%の場合、両者を乗じて72%（＝90%×80%＝0.72）とする。このように、状態変数は、平均が再生許可モードのフラグを判定する所定の閾値に近く、かつ、分散が基準値に近い値であるほど、すなわち、設定した値に近いほど100%（＝1.0）に近い値として設定される。
【００７６】
また、状態変数は、例えば、所定の時間当たりの記録フレーム数の変化量と、所定の時間当たりの使用フレーム数の変化量との比率などでも良い。すなわち、この場合、所定の時間当たりの記録フレーム数の変化量と、所定の時間当たりの使用フレーム数の変化量とは、適切に設定されていれば、双方の変化は同一に近い値となり、状態変数である、双方の比率は、やはり１（=100%）に近い値となる。
【００７７】
ステップＳ４４において、破棄管理部３４ｄは、破棄すべきフレーム数の算出結果に基づいて、破棄すべきフレームが存在するか否かを判定する。例えば、破棄すべきフレーム数が存在する場合、処理は、ステップＳ４５に進む。
【００７８】
ステップＳ４５において、破棄管理部３４ｄは、受信バッファ３３に記録されている符号化データのうち、破棄すべきフレーム数分の符号化データを破棄し、処理が終了する。より具体的には、破棄管理部３４ｄは、スイッチ３５を制御して、端子３５ｂに接続させることにより、符号化データをデータ破棄部３７に供給させる。データ破棄部３７は、供給されてきた符号化データを破棄する。
【００７９】
尚、符号化データを破棄するにあたっては、例えば、複数のフレーム分の符号化データを破棄する場合については、数フレーム間隔をおいて、間引くように破棄するようにしても良い。このようにすることで、残されるフレーム単位の符号化データの連続性や整合性を残すことができる。
【００８０】
すなわち、復帰対策モードに入り、伝送状態の悪化に伴って、伝送が滞っていた符号化データが一気に送信されてくることにより、受信バッファ３３に処理困難な量の符号化データが蓄積される状態が続くと、上述したステップＳ４１乃至Ｓ４５の処理が繰り返されて、符号化データが破棄され続けることになる。
【００８１】
一方、ステップＳ４４において、破棄すべきフレームがないと判定された場合、すなわち、受信バッファ３３に破棄すべきフレームの符号化データが記録されていない状態であると判定された場合、処理は、ステップＳ４６に進む。
【００８２】
ステップＳ４６において、復帰対策部３４ｂは、状態変数と１との差分絶対値が所定の閾値よりも小さいか否か、すなわち、伝送状態が安定して、記録フレーム数が設定された動作状態に近い状態になっているか否かを判定する。ステップＳ４６において、例えば、状態変数と１との差分絶対値が所定の閾値よりも小さく、伝送状態が安定して、設定された動作状態に近い状態になっていると判定された場合、処理は、ステップＳ４７に進む。
【００８３】
ステップＳ４７において、復帰対策部３４ｂは、伝送状態が安定して、設定された動作状態に近い状態になっていることを示す１の値を、復帰対策モードの終了を判定するための判定配列３４ｃの最も古い値に上書きして格納させる。
【００８４】
また、ステップＳ４６において、状態変数と１との差分絶対値が所定の閾値よりも小さくなく、伝送状態が不安定で、設定された動作状態に近い状態になっていないとみなされた場合、ステップＳ４８において、復帰対策部３４ｂは、伝送状態が不安定で、設定された動作状態に近い状態になっていないことを示す０の値を、判定配列３４ｃの最も古い値に上書きして格納させる。
【００８５】
ステップＳ４９において、復帰対策部３４ｂは、判定配列３４ｃの情報を読み出し、例えば、格納されている全ての値が１である、すなわち、判定配列３４ｃに格納されている状態変数と１との差分絶対値が所定の閾値よりも小さい状態が所定回数継続しているか否かにより、復帰対策モードを終了するか否かを判定する。ステップＳ４９において、例えば、判定配列３４ｃに格納されている全ての値が１であった場合、復帰対策部３４ｂは、復帰対策モードを終了させるものとみなし、処理は、ステップＳ５０に進む。
【００８６】
ステップＳ５０において、復帰対策部３４ｂは、復帰対策モードのフラグをオフにして、復帰対策モードを終了させる。
【００８７】
ステップＳ５１において、再生制御部３４は、ミュート制御部３８を制御して、復号部３６より出力される音声データのミュートをオフにして、スピーカ１３に供給して音声として出力できる状態にする。
【００８８】
さらに、ステップＳ４９において、判定配列３４ｃに格納されている全ての値が１ではない場合、復帰対策モードを継続させる必要があるため、ステップＳ５０，Ｓ５１の処理がスキップされて、復帰対策処理を終了する。
【００８９】
以上の処理により、伝送状態が不安定になって、符号化データが受信バッファ３３に格納されない状態が継続すると、再生許可モードのフラグがオフにされ、復帰対策モードのフラグがオンにされ、復帰対策処理として、伝送状態が回復した際に、過剰に送信されてくる符号化データを、フレーム単位で破棄するようにした。結果として、伝送状態が回復し、再生できる状態に復帰した際、様々な圧縮率の符号化データが送信されてきても、処理単位であるフレーム数に応じて、符号化データが破棄されるので、符号化データを用いた遅延時間の補償を実現することが可能となる。
【００９０】
また、復帰対策モードにおいては、ミュート制御部３８によりミュートが掛けられるようにした。このため、伝送状態が回復し、符号化データが受信バッファ３３に格納されるようになり、再生許可モードのフラグがオンにされることで、必要に応じて破棄されている符号化データを復号して再生することで発生するノイズのような音声が出力されない。結果として、ノイズのような音声出力の発生を抑制できるので、聴視者に不快感を与えないようにすることが可能となる。
【００９１】
また、受信バッファ３３に記録されている記録フレーム数単位で受信バッファ３３の動作状態を管理するので、バッファオーバフローの発生を適切に防止するための設計が容易なものとなる。
【００９２】
さらに、復帰対策処理は、再生処理の一部の処理としてなされるため、伝送状態が改善して再生許可モードのフラグがオンとされて符号化データが順次復号されて音声を出力させている状態であっても、並行して実行することができる。このため、音声を再生させながら、符号化データを破棄することもでき、このような場合、ミュート制御部３８によりスピーカ１３からの音声出力を完全に停止させてしまうのではなく、通常よりも音量を小さくして出力させるようにしてもよい。このようにすることで、主たる音声は出力することができるので、聴視者は音声出力を視聴することが可能となり、さらに、多少ノイズを含む音声であっても、音量が抑えられているので、不快感を軽減することが可能となる。
【００９３】
＜オーディオ再生システムの第２の実施の形態の構成例＞
以上の処理によれば、例えば、図４で示されるように、伝送状態が悪化し、記録フレーム数が０となった状態で復帰対策モードに入り、その後、時刻ｔ０で伝送状態が回復してくると、時間の経過と共に、受信バッファ３３の記録フレーム数が増えてくる。
【００９４】
そして、伝送状態が回復してからの、時刻ｔ０から時刻ｔ１にかけて、記録フレーム数は、徐々に上昇し、破棄閾値Thを超えた当たりから、実際に送信されてくる点線の丸印で示される記録フレーム数に対して、ある程度のフレーム数が破棄される事により、実線の丸印で示される記録フレーム数となるように制御される。さらに、時刻ｔ２の実線の丸印で示されるように、実際の記録フレーム数が、破棄閾値Thよりも小さくなってから、復帰対策モードの終了判定が開始されることになる。
【００９５】
尚、図４は、復帰対策モードに入って伝送状態が回復してからの、時間の経過に伴った記録フレーム数の変化を示したものであり、横軸が経過時間を表し、縦軸が記録フレーム数を表している。また、実線の丸印は、上述した復帰対策処理により、必要に応じて符号化データが破棄される事により調整された実際の記録フレーム数を表しており、点線の丸印は、符号化データの破棄がなされなかった場合の記録フレーム数を表している。
【００９６】
すなわち、以上の処理において、伝送状態が悪化して、復帰対策モードに入った後、時刻ｔ０に伝送状態が復帰すると、徐々に記録フレーム数が増大し、時刻ｔ１乃至ｔ２においては、破棄閾値Thを超えて、フレームが破棄される状態となる。そして、時刻ｔ２を超えたあたりから、実際の記録フレーム数が閾値Thよりも小さくなることで、破棄が停止され、この後のタイミングから復帰対策モードの終了判定がなされることになる。
【００９７】
しかしながら、上述した様に、復帰対策モードが長引くと、フレーム単位で符号化データが破棄され続け、ミュート制御部３８の動作時間が長くなり、通常の音声出力ができない状態が継続することになる。このため、できるだけ復帰対策モードの終了判定を早く開始して、復帰対策モードを早く終了させることが望ましい。
【００９８】
そこで、復帰対策モードに入った後、記録フレーム数が単位時間当たりで急激に増大している様な場合には、記録フレーム数が破棄閾値Thに到達する前の段階で、フレーム単位で符号化データを破棄するようにして、フレーム単位で符号化データが破棄されている期間を短くして、復帰対策モードの終了判定を早いタイミングから開始させ、復帰対策モードを早く終了させるようにしてもよい。
【００９９】
図５は、復帰対策モードに入った後、記録フレーム数が単位時間当たりで急激に増大する場合、破棄閾値Thに到達する前の段階でフレーム単位で符号化データを破棄するようにした受信再生部１２の構成例を示している。尚、図５の受信再生部１２において、図１の受信再生部１２と同一の機能を備えた構成については、同一の名称及び同一の符号を付しており、その説明は適宜省略するものとする。
【０１００】
すなわち、図５の受信再生部１２において、図１の受信再生部１２と異なる点は、再生制御部３４の破棄管理部３４ｄに変えて、破棄管理部５１を設けた点である。
【０１０１】
破棄管理部５１は、基本的に、破棄管理部３４ｄと同一の機能を備えたものであるが、破棄すべきフレーム数の算出方法が異なる。
【０１０２】
すなわち、破棄管理部５１は、単位時間当たりの記録フレーム数の増加量により、削除すべきフレーム数を算出する。このため、受信バッファ３３において、記録フレーム数が破棄閾値Thを超えるタイミングよりも早い段階でも、単位時間当たりの記録フレーム数の増加量が大きい場合には、増加量に応じたフレーム単位の符号化データが破棄されることにより、早い段階から記録フレーム数が破棄閾値Thよりも小さな値となり、フレームを破棄する期間を短くすることができるので、復帰対策モードを早期に終了することが可能となる。
【０１０３】
結果として、復帰対策モードの終了判定が早く開始されて、早いタイミングで復帰対策モードを終了させることが可能となり、符号化データがフレーム単位で破棄される事により生じるノイズのような音声の発生を減少させ、ミュート制御部３８によるミュートがオンとされる期間を短くすることが可能となる。
【０１０４】
＜図５の受信再生部による復帰対策処理＞
次に、図６のフローチャートを参照して、図５の受信再生部１２による復帰対策処理について説明する。尚、再生処理については、図１の受信再生部１２と同様であるので、その説明は省略する。また、図６のフローチャートのうち、ステップＳ７１，Ｓ７３乃至Ｓ８６の処理は、図３のフローチャートにおけるステップＳ４１，Ｓ４３乃至Ｓ５６の処理と同様であるので、その説明は省略するものとする。すなわち、図６のフローチャートにおいて、図３のフローチャートと異なるのは、ステップＳ７２の処理である。
【０１０５】
すなわち、ステップＳ７２において、破棄管理部５１は、単位時間当たりの記録フレーム数の増加量により、削除すべきフレーム数を算出する。
【０１０６】
より具体的には、破棄管理部５１は、例えば、図７で示されるように、記録フレーム数の変化量ΔFrameと単位時間ΔTimeから単位時間当たりの増加量ΔFrame／ΔTimeを求め、設計時に定められた通常時の変化量を基準に定められた変化量との比率を求め、この比率を変化量ΔFrameに乗じて破棄すべきフレーム数を算出する。
【０１０７】
例えば、記録フレーム数の変化量ΔFrameが８、単位時間ΔTimeが１０であり、基準値が０．５であった場合、破棄管理部５１は、ΔFrame／ΔTimeを、０．８として算出し、基準値の変化量との比率として、（０．８−０．５）／０．５＝０．６を算出する。さらに、破棄管理部５１は、求まった値を記録フレーム数の変化量ΔFrame（＝８）と乗算し、小数点以下を切り捨て、破棄フレーム数を４と算出する。
【０１０８】
以上のような処理により、図７で示されるように、記録フレーム数が、破棄閾値Thを超える前の段階から、増加量に応じて、フレーム単位で符号化データが破棄されることになるので、破棄閾値Thを超えるまでに、破棄すべきフレームが破棄された状態となる。結果として、受信バッファ３３に過剰に記録されている符号化データが、破棄すべきフレーム単位で破棄される期間が、図７の時刻ｔ１１乃至ｔ１２で示されるように、図４で示される時刻ｔ１乃至ｔ２より短期間にすることが可能となる。
【０１０９】
尚、図５の受信再生部１２においては、説明を簡単にするために、経過時間に対して、所定の１時点における比率をそのまま計算に用いたが、各時点での比率を求め、求まった各時点での比率の平均を用いるようにしてもよく、このようにすることで、伝送環境による到達時間のばらつきの影響を、より低減させることが可能となる。
【０１１０】
また、以上においては、Bluetooth(登録商標)を利用した通信における例について説明してきたが、通信プロトコルについては、これに限るものではなく、それ以外の通信プロトコルを用いた通信であってもよい。また、以上においては、通信によりオーディオデータを送信する例について説明してきたが、リアルタイムにストリーム再生するデータであれば、オーディオデータ以外のデータでもよく、例えば、ビデオデータなどであってもよい。
【０１１１】
以上の如く、本技術によれば、受信側の装置は、再生を開始すべきタイミングを、受信バッファに記録されている符号化データの復号処理単位となるフレーム数を基準として判断できるようになるので、遅延時間に影響を与えることなく、符号化データの圧縮率が変更されても、安定した再生が可能となる。
【０１１２】
また、受信バッファにおいて記憶されている符号化データの量が、再生を開始すべきフレーム数分だけ一定に保つことができるようになるため、再生中に符号化データの圧縮率を変更するようなことがあっても、符号化データのバイト数を基準として行う場合と比較して最低限確保すべき必要なメモリサイズを低減させることが可能となる。
【０１１３】
さらに、伝送が途切れて、復帰した後に、遅延を一定に保つために符号化データを破棄する際、フレーム数といった復号処理単位で管理しているため、例えば、送信側で伝送状況に応じて符号化データの圧縮率を変更するような場合でも、復号処理単位で破棄処理が行えるようになる。
【０１１４】
また、１台の送信機から送信されてくる符号化データを、複数の受信再生部１２で受信して再生する再生システムを構成した場合、例えば、Bluetoothの様にslot間隔でパケットが送受信されるようなときでも、受信側は、再生許可モードのオンオフを判定する際の閾値さえ一致していれば、別途同期信号を用意することなく、同期して再生する事が可能となる。
【０１１５】
＜ソフトウェアにより実行させる例＞
ところで、上述した一連の処理は、ハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、記録媒体からインストールされる。
【０１１６】
図８は、汎用のパーソナルコンピュータの構成例を示している。このパーソナルコンピュータは、CPU(Central Processing Unit)１００１を内蔵している。CPU１００１にはバス１００４を介して、入出力インタ-フェイス１００５が接続されている。バス１００４には、ROM(Read Only Memory)１００２およびRAM(Random Access Memory)１００３が接続されている。
【０１１７】
入出力インタ-フェイス１００５には、ユーザが操作コマンドを入力するキーボード、マウスなどの入力デバイスよりなる入力部１００６、処理操作画面や処理結果の画像を表示デバイスに出力する出力部１００７、プログラムや各種データを格納するハードディスクドライブなどよりなる記憶部１００８、LAN（Local Area Network）アダプタなどよりなり、インターネットに代表されるネットワークを介した通信処理を実行する通信部１００９が接続されている。また、磁気ディスク（フレキシブルディスクを含む）、光ディスク（CD-ROM(Compact Disc-Read Only Memory)、DVD(Digital Versatile Disc)を含む）、光磁気ディスク（ＭＤ(Mini Disc)を含む）、もしくは半導体メモリなどのリムーバブルメディア１０１１に対してデータを読み書きするドライブ１０１０が接続されている。
【０１１８】
CPU１００１は、ROM１００２に記憶されているプログラム、または磁気ディスク、光ディスク、光磁気ディスク、もしくは半導体メモリ等のリムーバブルメディア１０１１ら読み出されて記憶部１００８にインストールされ、記憶部１００８からRAM１００３にロードされたプログラムに従って各種の処理を実行する。RAM１００３にはまた、CPU１００１が各種の処理を実行する上において必要なデータなども適宜記憶される。
【０１１９】
以上のように構成されるコンピュータでは、CPU１００１が、例えば、記憶部１００８に記憶されているプログラムを、入出力インタフェース１００５及びバス１００４を介して、RAM１００３にロードして実行することにより、上述した一連の処理が行われる。
【０１２０】
コンピュータ（CPU１００１）が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア１０１１に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することができる。
【０１２１】
コンピュータでは、プログラムは、リムーバブルメディア１０１１をドライブ１０１０に装着することにより、入出力インタフェース１００５を介して、記憶部１００８にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部１００９で受信し、記憶部１００８にインストールすることができる。その他、プログラムは、ROM１００２や記憶部１００８に、あらかじめインストールしておくことができる。
【０１２２】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
【０１２３】
また、本明細書において、システムとは、複数の構成要素（装置、モジュール（部品）等）の集合を意味し、すべての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、１つの筐体の中に複数のモジュールが収納されている１つの装置は、いずれも、システムである。
【０１２４】
なお、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
【０１２５】
例えば、本技術は、１つの機能をネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
【０１２６】
また、上述のフローチャートで説明した各ステップは、１つの装置で実行する他、複数の装置で分担して実行することができる。
【０１２７】
さらに、１つのステップに複数の処理が含まれる場合には、その１つのステップに含まれる複数の処理は、１つの装置で実行する他、複数の装置で分担して実行することができる。
【０１２８】
尚、本技術は、以下のような構成も取ることができる。
（１）  送信されてくる所定の符号化方式で符号化されたデータからなる符号化データを受信する受信部と、
前記受信部により受信された符号化データを格納する格納部と、
前記格納部に格納された符号化データを前記所定の符号化方式に対応する手法で復号する復号部と、
前記格納部に格納された符号化データの、前記復号部において復号される際の、前記所定の符号化方式における復号処理単位の数に応じて、前記復号部による復号を許可するように制御する復号管理部と
を含む信号処理装置。
（２）  前記復号管理部は、前記格納部に格納された符号化データの、前記復号処理単位の数が所定の閾値よりも大きい場合、前記復号部による復号を許可するように制御する
（１）に記載の信号処理装置。
（３）  前記格納部の出力を、前記復号部、または、それ以外に切り替える切替部をさらに含み、
前記復号管理部は、前記格納部に格納された符号化データの、前記復号処理単位の数が所定の閾値よりも大きい場合、前記切替部を制御して、前記格納部の出力を、前記復号部に接続させるようにすることで、前記復号部による復号を許可するように制御する
（１）または（２）に記載の信号処理装置。
（４）  前記格納部に格納された符号化データの、前記復号処理単位の数に基づいて、伝送環境の悪化により前記符号化データの送信状態が滞った後、前記伝送環境が復帰し、纏まって前記符号化データが送信されてくることで、前記復号部により全ての前記符号化データを復号できない状態に陥らないようにする対策である復帰対策処理を行う復帰対策モードをオンとするか否かを判定し、前記復帰対策処理を行う復帰対策部をさらに含む
（１）乃至（３）のいずれかに記載の信号処理装置。
（５）  前記復帰対策部は、前記格納部に格納された符号化データの、前記復号処理単位の数が０であるとき、前記復帰対策モードをオンにし、
前記復帰対策モードがオンであるとき、前記格納部に格納されている前記符号化データの、前記復号処理単位の数が、前記所定の閾値に基づいた基準値よりも大きいとき、前記格納部に格納されている符号化データの一部を、前記復号処理単位で破棄する破棄管理部をさらに含む
（４）に記載の信号処理装置。
（６）  前記破棄管理部は、前記格納部に格納されている符号化データのうち、前記復号処理単位の数で、前記所定の閾値に基づいた基準値よりも多い分の符号化データを、前記復号処理単位で破棄する
（５）に記載の信号処理装置。
（７）  前記破棄管理部は、前記格納部に格納されている符号化データのうち、前記復号処理単位の数の単位時間当たりの増加量に対応付けて設定される量の前記符号化データを前記復号処理単位で破棄する
（５）に記載の信号処理装置。
（８）  前記格納部の出力を、前記復号部、または、それ以外に切り替える切替部と、
前記格納部に格納されている符号化データの一部を、前記復号処理単位で破棄する破棄部とをさらに含み、
前記破棄管理部は、前記格納部に格納されている符号化データの一部を、前記復号処理単位で破棄するとき、前記切替部を制御して、前記格納部の出力を、前記破棄部に接続させるようにすることで、前記格納部に格納されている符号化データの一部を、前記復号処理単位で破棄する
（５）に記載の信号処理装置。
（９）  前記復帰対策部は、前記格納部に格納された符号化データの、前記復号処理単位の数の所定の期間における平均および分散に基づいて、所定の時間間隔で状態変数を算出し、所定の基準値との差分絶対値が所定の閾値よりも小さい状態が継続するとき、前記復帰対策モードをオフにする
（４）に記載の信号処理装置。
（１０）  前記復帰対策部により、前記所定の時間間隔で算出される前記状態変数と所定の基準値との差分絶対値が、所定の閾値と比較され、その比較結果を格納する配列をさらに含み、
前記復帰対策部は、前記配列に格納された比較結果に基づいて、前記所定の時間間隔で算出される状態変数が、所定の基準値との差分絶対値が所定の閾値よりも小さい状態が継続するとき、前記復帰対策モードをオフにする
（４）に記載の信号処理装置。
（１１）  前記符号化データは、スピーカにより音声として出力するための音声データを符号化したものであり、
前記復号部により復号された前記音声データに基づいた、前記スピーカからの音声の出力レベルを調整するミュート制御部をさらに含み、
前記復帰対策モードがオンである場合、前記ミュート制御部は、前記復号部により復号された前記音声データに基づいた、前記スピーカからの音声の出力レベルが低下するように調整する
（１）乃至（４）のいずれかに記載の信号処理装置。
（１２）  送信されてくる所定の符号化方式で符号化されたデータからなる符号化データを受信し、
受信された符号化データを格納し、
格納された符号化データを前記所定の符号化方式に対応する手法で復号し、
格納された符号化データの、復号される際の、前記所定の符号化方式における復号処理単位の数に応じて、復号を許可するように制御する
ステップを含む
信号処理方法。
（１３）  送信されてくる所定の符号化方式で符号化されたデータからなる符号化データを受信する受信部と、
前記受信部により受信された符号化データを格納する格納部と、
前記格納部に格納された符号化データを前記所定の符号化方式に対応する手法で復号する復号部と、
前記格納部に格納された符号化データの、前記復号部において復号される際の、前記所定の符号化方式における復号処理単位の数に応じて、前記復号部による復号を許可するように制御する復号管理部と
してコンピュータを機能させるプログラム。
【符号の説明】
【０１２９】
１１  Bluetoothモジュール，  １２  受信再生部，  １３  スピーカ，  ２１  送信部，  ３１  受信処理部，  ３２  コーデック部，  ３２ａ  フレーム数算出部，  ３３  受信バッファ，  ３４  再生制御部，  ３４ａ  再生管理部，  ３４ｂ  復帰対策部，  ３４ｃ  判定配列，  ３４ｄ  破棄管理部，  ３５  スイッチ，  ３５ａ，３５ｂ  端子，  ３６  復号部，  ３７データ破棄部，  ３８  ミュート制御部，  ５１  破棄管理部
【図１】
2016126037.tif 000003
【図２】
2016126037.tif 000004
【図３】
2016126037.tif 000005
【図４】
2016126037.tif 000006
【図５】
2016126037.tif 000007
【図６】
2016126037.tif 000008
【図７】
2016126037.tif 000009
【図８】
2016126037.tif 000010