(58)【調査した分野】(Int.Cl.,DB名)
前記オーディオデータストリームに対してリアルタイムの再生処理を実施するとき、少なくとも1つのオーディオフレームの長さをもつサンプリングポイント値のコピーを確保するステップをさらに含み、
互いに隣接する前記第1のオーディオフレームおよび前記第2のオーディオフレームを前記オーディオデータストリームから取得するステップは、
オーディオフレームを挿入するための命令が検出されると、前記第1のオーディオフレームとして、再生処理が現在実施されているサンプリングポイント値の前の、再生処理が実施されたサンプリングポイント値の確保されたコピーを取得し、前記第2のオーディオフレームとして、再生処理が現在実施されている前記サンプリングポイント値に後続する、1つのオーディオフレームの長さをもつサンプリングポイント値を取得するステップを含む、請求項1に記載の方法。
互いに隣接するとともに、指定されたチャネルの前記オーディオデータストリームから取得された前記第1のオーディオフレームおよび前記第2のオーディオフレームについて、音効果がオンにされたとき、前記第2のオーディオフレーム中の前記フレームセグメント化位置に先行するそれぞれのサンプリングポイント値および前記第1のオーディオフレーム中の前記フレームセグメント化位置に後続するそれぞれのサンプリングポイント値を取得し、前記それぞれのサンプリングポイント値を順にスティッチングして、前記第3のオーディオフレームを生成し、前記第1のオーディオフレームと前記第2のオーディオフレームとの間に前記第3のオーディオフレームを挿入し、前記挿入された第3のオーディオフレームに対してフェードイン処理を実施するステップであって、そうすることによって、前記挿入された第3のオーディオフレームは、時間シーケンスに従って、音効果なし状態から無損傷音効果状態に漸進的に遷移する、ステップをさらに含む、請求項1に記載の方法。
【発明を実施するための形態】
【0014】
本出願の目的、技術的解決策、および利点をより明瞭に、より理解しやすくするために、以下ではさらに、添付の図面および実施形態を参照して本出願を詳しく説明する。本明細書に記載される具体的な実施形態は、本出願を説明するために使われるにすぎず、本出願を限定することは意図していないことを理解されたい。
【0015】
図1に示すように、ある実施形態では、システムバスを使うことによって接続された、プロセッサ、不揮発性記憶媒体、内部メモリ、入力装置およびオーディオ出力インターフェースを含む、オーディオデータ処理方法を実装するための端末100が提供される。プロセッサは、算出すること、および端末100の働きを制御することが可能である。プロセッサは、オーディオデータ処理方法を実施するように構成される。不揮発性記憶媒体は、磁気記憶媒体、光学記憶媒体、またはフラッシュ記憶媒体のうちの少なくとも1つを含む。コンピュータ可読命令は、不揮発性記憶媒体に記憶される。コンピュータ可読命令は、プロセッサによって実行されると、プロセッサに、オーディオデータ処理方法を実施させる。入力装置は、物理的ボタン、トラックボール、タッチパッド、外部制御デバイスを接続するために使われる物理インターフェース、または表示画面と重なるタッチレイヤのうちの少なくとも1つを含む。外部制御デバイスは、たとえば、マウス、マルチメディアワイヤー制御型装置などであり得る。端末100は、デスクトップコンピュータ、可搬型ノートブックコンピュータ、モバイル電話、音楽プレーヤ、またはスマートウォッチなど、オーディオデータを処理することが可能な様々な電子デバイスを含む。
【0016】
図2に示すように、ある実施形態では、オーディオデータ処理方法が提供される。本実施形態では、方法が
図1の端末100に適用される例が、説明に使われる。方法は具体的には、以下のステップを含む。
【0017】
ステップ202:オーディオデータストリームから、互いに隣接する第1のオーディオフレームおよび第2のオーディオフレームを取得し、第1のオーディオフレームは、時間シーケンスにおいて第2のオーディオフレームに先行する。
【0018】
具体的には、オーディオデータストリームは、時間シーケンスを有する一連のサンプリングポイント値を含む。サンプリングポイント値は、特定のオーディオサンプリングレートに従って元のアナログ音信号をサンプリングすることによって取得される。一連のサンプリングポイント値が音を記述し得る。オーディオサンプリングレートは、1秒間に収集されるサンプリングポイントの量を指し、単位はヘルツ(Hz)である。より高いオーディオサンプリングレートは、記述され得るより高い音響周波数を示す。
【0019】
オーディオフレームは、時間シーケンスと特定の量とを有するサンプリングポイント値を含む。オーディオデータストリームのコーディングフォーマットに従って、コーディングフォーマットでのオーディオフレームがある場合、オーディオフレームは直接使われ得る。オーディオフレームはないが、時間シーケンスを有する一連のサンプリングポイント値がある場合、オーディオフレームは、あらかじめ設定されたフレーム長に従って、時間シーケンスを有する一連のサンプリングポイント値からセグメント化され得る。あらかじめ設定されたフレーム長は、1つのオーディオフレームに含まれるサンプリングポイント値のあらかじめ設定された量を指す。
【0020】
オーディオデータストリームから取得された第1のオーディオフレームおよび第2のオーディオフレームは隣接し、第1のオーディオフレームが時間シーケンスにおいて第2のオーディオフレームに先行する。つまり、オーディオデータストリームに対して再生処理を実施するとき、第1のオーディオフレームは第2のオーディオフレームの前に再生される。第1のオーディオフレームおよび第2のオーディオフレームは、オーディオフレームがその間に挿入される必要がある2つの隣接するオーディオフレームである。
【0021】
たとえば、
図3Aを参照すると、オーディオデータストリームは、時間シーケンスに従ってランク付けされた第1のオーディオフレームA、第2のオーディオフレームB、...を含む。オーディオフレームが挿入される必要があるとき、オーディオフレームFが、第1のオーディオフレームAと第2のオーディオフレームBとの間に挿入される必要がある。
図3Bを参照すると、オーディオフレームが消去される必要があるとき、第1のオーディオフレームAおよび第2のオーディオフレームBのうちの1つの、サンプリングポイント値が、1つのオーディオフレームGを確保するために消去される必要がある。
【0022】
ステップ204:フレームセグメント化位置を判断し、第1のオーディオフレーム中のフレームセグメント化位置におけるサンプリングポイント値および第2のオーディオフレーム中のフレームセグメント化位置におけるサンプリングポイント値は距離近さ条件を満足する。
【0023】
具体的には、フレームセグメント化位置は、第1のオーディオフレームおよび第2のオーディオフレームがセグメント化される位置であり、オーディオフレームに相対した位置である。距離が、2つのオーディオフレーム中の対応する位置にある2つのサンプリングポイント値の間の差の絶対値を指す。たとえば、第1のオーディオフレームAのサンプリングポイント値の、
図4に示す部分的分布図、および第2のオーディオフレームBのサンプリングポイント値の、
図5に示す部分的分布図を参照する。第1のオーディオフレームAの第1のサンプリングポイント値と第2のオーディオフレームBの第1のサンプリングポイント値との間の差の絶対値は、第1のオーディオフレームAの第1のサンプリングポイント値と第2のオーディオフレームBの第1のサンプリングポイント値との間の距離である。
【0024】
距離近さ条件は、2つのサンプリングポイント値の間の距離が近いかどうかを判断するために使われる量子化条件である。ある実施形態では、距離近さ条件は、距離が0に等しいこと、または2つのサンプリングポイント値の間の距離が等しくないが近いことであってよい。たとえば、距離は閾以下である。閾は、あらかじめ設定されてよく、または第1のオーディオフレームおよび/もしくは第2のオーディオフレームのサンプリングポイント値のダイナミックに従って判断されてよい。たとえば、閾は、第1のオーディオフレームおよび/または第2のオーディオフレームのサンプリングポイント値の平均値を、あらかじめ設定された割合で乗算することによって取得され得る。
【0025】
ある実施形態では、端末は、第1のオーディオフレームおよび第2のオーディオフレームからなる各サンプリングポイント値ペアの距離を算出して、最も小さい距離を有するサンプリングポイント値ペアを選択すればよい。フレームセグメント化位置は、最も小さい距離を有する、選択されたサンプリングポイント値ペアに対応する位置である。この場合、距離近さ条件は、第1のオーディオフレームおよび第2のオーディオフレーム中のフレームセグメント化位置に対応するサンプリングポイント値ペアの距離が最も小さいことである。本明細書におけるサンプリングポイント値ペアは、2つのオーディオフレーム中の同じ位置にある2つのサンプリングポイント値を指す。サンプリングポイント値の位置は、サンプリングポイント値が属するオーディオフレームに相対したサンプリングポイント値の位置である。
【0026】
たとえば、サンプリングポイント値の、
図6に示す部分的分布図は、
図4と
図5を重ねることによって得られ、そうすることによって、オーディオフレームAのサンプリングポイント値の部分的分布を、オーディオフレームBのサンプリングポイント値の部分的分布と比較するのに好都合である。フレームセグメント化位置がSであると仮定すると、オーディオフレームAのSにおけるサンプリングポイント値と、オーディオフレームBのSにおけるサンプリングポイント値との間の差の絶対値は、非常に近く、等しい場合さえもある。つまり、オーディオフレームA中のSにおけるサンプリングポイント値およびオーディオフレームB中のSにおけるサンプリングポイント値は、距離近さ条件を満足する。
【0027】
ステップ206:第2のオーディオフレーム中のフレームセグメント化位置に先行するサンプリングポイント値および第1のオーディオフレーム中のフレームセグメント化位置に後続するサンプリングポイント値を取得し、サンプリングポイント値を順にスティッチングして、第3のオーディオフレームを生成し、第1のオーディオフレームと第2のオーディオフレームとの間に第3のオーディオフレームを挿入するか、または第1のオーディオフレーム中のフレームセグメント化位置に先行するサンプリングポイント値および第2のオーディオフレーム中のフレームセグメント化位置に後続するサンプリングポイント値を取得し、サンプリングポイント値を順にスティッチングして、第4のオーディオフレームを生成し、第1のオーディオフレームおよび第2のオーディオフレームを第4のオーディオフレームに置き換える。
【0028】
具体的には、オーディオフレームが挿入される必要があるとき、第2のオーディオフレーム中のフレームセグメント化位置に先行するサンプリングポイント値が取得され、第1のオーディオフレーム中のフレームセグメント化位置に後続するサンプリングポイント値が取得される。取得されたサンプリングポイント値の量は、1つのオーディオフレームの長さに完全に等しい。第2のオーディオフレームのサンプリングポイント値と第1のオーディオフレームのサンプリングポイント値は順にスティッチングされて、第3のオーディオフレームを生成する。さらに、第2のオーディオフレームからのサンプリングポイント値は、第2のオーディオフレーム中のシーケンスに従ってランク付けされ、第1のオーディオフレームからのサンプリングポイント値は、第1のオーディオフレーム中のシーケンスに従ってランク付けされる。最終的に、生成された第3のオーディオフレームは、第1のオーディオフレームと第2のオーディオフレームとの間に挿入される。
【0029】
たとえば、
図7Aを参照すると、第1のオーディオフレームAは、フレームセグメント化位置Sで先行部分と後続部分にセグメント化され、第2のオーディオフレームBも、フレームセグメント化位置Sで先行部分と後続部分にセグメント化される。先行部分は、フレームセグメント化位置Sに先行するサンプリングポイント値を指す。対応して、後続部分は、フレームセグメント化位置Sに後続するサンプリングポイント値を指す。第2のオーディオフレームBの先行部分と第1のオーディオフレームAの後続部分はスティッチングされて、第3のオーディオフレームFが得られ、次いで、スティッチングによって得られた第3のオーディオフレームFは、第1のオーディオフレームAと第2のオーディオフレームBとの間に挿入され得る。
【0030】
オーディオフレームが消去される必要があるとき、第1のオーディオフレーム中のフレームセグメント化位置に先行するサンプリングポイント値が取得され、第2のオーディオフレーム中のフレームセグメント化位置に後続するサンプリングポイント値が取得される。取得されたサンプリングポイント値の量は、1つのオーディオフレームの長さに完全に等しい。第1のオーディオフレームのサンプリングポイント値と第2のオーディオフレームのサンプリングポイント値は順にスティッチングされて、第4のオーディオフレームが得られる。さらに、第1のオーディオフレームからのサンプリングポイント値は、第1のオーディオフレーム中のシーケンスに従ってランク付けされ、第2のオーディオフレームからのサンプリングポイント値は、第2のオーディオフレーム中のシーケンスに従ってランク付けされる。最終的に、第1のオーディオフレームおよび第2のオーディオフレームは、生成された第4のオーディオフレームに置き換えられる。
【0031】
たとえば、
図7Bを参照すると、第1のオーディオフレームAは、フレームセグメント化位置Sで先行部分と後続部分にセグメント化され、第2のオーディオフレームBも、フレームセグメント化位置Sで先行部分と後続部分にセグメント化される。先行部分は、フレームセグメント化位置Sに先行するサンプリングポイント値を指す。対応して、後続部分は、フレームセグメント化位置Sに後続するサンプリングポイント値を指す。第1のオーディオフレームAの先行部分と第2のオーディオフレームBの後続部分はスティッチングされて、第4のオーディオフレームGが得られ、次いで、第1のオーディオフレームAおよび第2のオーディオフレームBは、スティッチングによって得られた第4のオーディオフレームGに置き換えられ得る。
【0032】
上記のオーディオデータ処理方法において、オーディオフレームが挿入される必要があるとき、第2のオーディオフレーム中のフレームセグメント化位置に先行する部分と、第1のオーディオフレーム中のフレームセグメント化位置に後続する部分がスティッチングされて、第3のオーディオフレームが得られ、第3のオーディオフレームが、第1のオーディオフレームと第2のオーディオフレームとの間に挿入される。挿入の後、第3のオーディオフレームの先行部分は第2のオーディオフレームの先行部分になり、第3のオーディオフレームの後続部分は第1のオーディオフレームの後続部分になる。第1のオーディオフレームと第2のオーディオフレームはシームレスにスティッチングされるので、第3のオーディオフレームの先行部分と第1のオーディオフレームはシームレスにスティッチングされてよく、第3のオーディオフレームの後続部分と第2のオーディオフレームはシームレスにスティッチングされてよい。さらに、第3のオーディオフレームは、フレームセグメント化位置において距離近さ条件を満足するので、スティッチングされたエリアにおいて、過度に大きく、急激な変化は起こらない。このようにして、オーディオフレームが挿入されるときにオーディオフレームの間をスキップすることによって引き起こされる雑音は、実質的に克服される。
【0033】
オーディオフレームが消去される必要があるとき、第1のオーディオフレーム中のフレームセグメント化位置に先行する部分と、第2のオーディオフレーム中のフレームセグメント化位置に後続する部分がスティッチングされて、第4のオーディオフレームが得られ、第1のオーディオフレームおよび第2のオーディオフレームは第4のオーディオフレームに置き換えられる。置換えの後、第4のオーディオフレームの先行部分は第1のオーディオフレームの先行部分になり、第4のオーディオフレームの後続部分は第2のオーディオフレームの後続部分になる。第1のオーディオフレームと先行オーディオフレームはシームレスにスティッチングされ、第2のオーディオフレームと後続オーディオフレームはシームレスにスティッチングされるので、置換えの後、第4のオーディオフレームと第1のオーディオフレームの先行部分はシームレスにスティッチングされてよく、第4のオーディオフレームと、第2のオーディオフレームの後続オーディオフレームはシームレスにスティッチングされてよい。さらに、第4のオーディオフレームは、フレームセグメント化位置において距離近さ条件を満足するので、スティッチングされたエリアにおいて、過度に大きく、急激な変化は起こらない。このようにして、オーディオフレームが挿入されるときにオーディオフレームの間をスキップすることによって引き起こされる雑音は、実質的に克服される。
【0034】
ある実施形態では、オーディオデータ処理方法は、オーディオデータストリームに対してリアルタイムの再生処理を実施するとき、少なくとも1つのオーディオフレームの長さをもつサンプリングポイント値のコピーを確保するステップをさらに含む。さらに、ステップ202は、オーディオフレームを挿入するための命令が検出されると、再生処理が実施されているサンプリングポイント値の前の、再生処理が実施されているサンプリングポイント値の確保されたコピーに従って、第1のオーディオフレームを取得すること、および再生処理が実施されているサンプリングポイント値に後続する、1つのオーディオフレームの長さをもつサンプリングポイント値に従って、第2のオーディオフレームを取得することを含む。
【0035】
再生処理は、サンプリングポイント値に従って音信号が復元されることを指す。少なくとも1つのオーディオフレームの長さをもつサンプリングポイント値のコピーを確保することは、少なくとも1つのオーディオフレームのコピーを確保することを指す。具体的には、
図8を参照すると、端末がサンプリングポイント値A1に対して再生処理を実施するとき、端末は、サンプリングポイント値A1のコピーA1'を確保する。サンプリングポイント値A1の前に再生処理が実施されるサンプリングポイント値のコピーも確保される。確保されるコピーの全長は、少なくとも1つのオーディオフレームの長さである。
【0036】
端末は、1つのオーディオフレームの長さの後のサンプリングポイント値B1に対して再生処理を実施しており、サンプリングポイント値B1のコピーB1'も確保される。この場合、確保されるコピーは、少なくともオーディオフレームAのコピーA'を含む。端末が、オーディオフレームを挿入するための命令を検出すると仮定すると、端末は、サンプリングポイント値A1から、再生処理が実施されるサンプリングポイント値B1までの、1つのオーディオフレームの長さをもつサンプリングポイント値のコピーを第1のオーディオフレームAとして使い、1つのオーディオフレームの長さをもつとともにサンプリングポイント値B1に後続するオーディオフレームBを第2のオーディオフレームとして使う。
【0037】
本実施形態では、オーディオデータストリームに対してリアルタイムの再生処理が実施されるときに少なくとも1つのオーディオフレームのコピーを確保することによって、端末は、オーディオフレームを挿入するための命令を検出すると、1つのオーディオフレームの時間長だけ待つことなく、命令に直ちに応答することができ、そうすることによって、オーディオフレームを挿入する効率を向上させる。
【0038】
図9に示すように、ある実施形態では、ステップ204は具体的には、以下のステップを含む。
【0039】
ステップ902:候補位置を取得し、第1のオーディオフレーム中の候補位置におけるサンプリングポイント値および第2のオーディオフレーム中の対応する候補位置におけるサンプリングポイント値は距離近さ条件を満足する。
【0040】
候補位置とは、フレームセグメント化位置として使うことができる、オーディオフレーム中の選択された位置である。具体的には、端末は、オーディオフレーム中のすべての位置を横断し、位置が横断される度に、第1のオーディオフレームおよび第2のオーディオフレーム中の対応する位置にあるサンプリングポイント値ペアが距離近さ条件を満足するかどうかを判断し得る。サンプリングポイント値ペアが距離近さ条件を満足する場合、横断された位置は候補位置セットに追加され、横断は継続される。サンプリングポイント値ペアが距離近さ条件を満足しない場合、横断は継続される。横断後に候補位置セットが依然として空である場合、あらかじめ設定された位置(オーディオフレーム中の中央位置など)または最も小さい距離をもつサンプリングポイント値ペアの位置が選択され、候補位置セットに追加されてよい。
【0041】
距離近さ条件は、2つのサンプリングポイント値の間の距離が近いかどうかを判断するために使われる量子化条件である。ある実施形態では、距離近さ条件は、距離が0に等しいこと、または2つのサンプリングポイント値の間の距離が等しくないが近いことであってよい。たとえば、距離は閾以下である。閾は、あらかじめ設定されてよく、または第1のオーディオフレームおよび/もしくは第2のオーディオフレームのサンプリングポイント値のダイナミックに従って判断されてよい。
【0042】
ある実施形態では、端末は、第1のオーディオフレームおよび第2のオーディオフレーム中の各サンプリングポイント値ペアの距離を算出し、距離を昇順にランク付けし得る。次いで、端末は、最上位にランク付けされている、あらかじめ設定された量の距離に対応する位置を候補位置セットに追加してよく、またはすべての算出された距離のあらかじめ設定された割合を占めるとともに最も小さい距離から始まって取得される距離に対応する位置を追加してよい。この場合、距離近さ条件は、第1のオーディオフレームおよび第2のオーディオフレーム中の候補位置に対応するサンプリングポイント値ペアの距離が、昇順にランク付けされているすべての算出された距離の前にランク付けされている、あらかじめ設定された量の距離であるか、または昇順にランク付けされたすべての算出された距離の前にランク付けされており、算出された距離のあらかじめ設定された割合を占める距離であることである。
【0043】
ある実施形態では、距離近さ条件は、第1の差と第2の差の積が0以下であることである。第1の差は、第1のオーディオフレーム中の候補位置におけるサンプリングポイント値と第2のオーディオフレーム中の対応する候補位置におけるサンプリングポイント値との間の差である。第2の差は、第1のオーディオフレーム中の候補位置に後続する位置におけるサンプリングポイント値と第2のオーディオフレーム中の対応する位置におけるサンプリングポイント値との間の差である。
【0044】
具体的には、第1のオーディオフレームAが[a
1,a
2,...,a
m]であり、第2のオーディオフレームBが[b
1,b
2,...,b
m]であると仮定すると、距離近さ条件は、以下の式(1)を使うことによって表すことができる。
(a
i-b
i)*(a
i+1-b
i+1)≦0, (i∈[1,m-1]) 式(1)
上式で、iは、第1のオーディオフレームAおよび第2のオーディオフレームB中の候補位置を表し、サンプリングポイント値シーケンス番号と呼ばれてよく、mは、1つのオーディオフレームの長さであり、(a
i-b
i)は、第1のオーディオフレームA中の候補位置iにおけるサンプリングポイント値a
iと、第2のオーディオフレームB中の対応する候補位置iにおけるサンプリングポイント値b
iとの間の差を表す第1の差であり、(a
i+1-b
i+1)は、第1のオーディオフレームA中の候補位置iに後続する位置i+1におけるサンプリングポイント値a
i+1と、第2のオーディオフレームB中の対応する位置i+1におけるサンプリングポイント値b
i+1との間の差を表す第2の差であり、式(1)は、第1の差(a
i-b
i)と第2の差(a
i+1-b
i+1)の積が0以下であることを表す。
【0045】
式(1)において表される距離近さ条件は、第1のオーディオフレームのサンプリングポイント値によって構成される第1の近似曲線と、第2のオーディオフレームのサンプリングポイント値によって構成される第2の近似曲線の交差を見つけるために使われる。代替として、2つの曲線の交差は別のやり方で判断されてよい。交差がちょうど、サンプリングポイント値の位置である場合、その位置は候補位置セットに追加される。交差が、どのサンプリングポイント値の位置でもない場合、オーディオフレーム中のすべての位置の中で、交差に最も近い位置が、候補位置セットに追加されてよい。たとえば、
図10では、交差Xが第1の近似曲線および第2の近似曲線によって形成され、それにより、交差Xに最も近い位置S1またはS2が、候補位置セットに追加され得る。2つの曲線の交差が判断される別のやり方がある。たとえば、2つの近似曲線の代数表現が、それぞれ最初に取得され、次いで、交差が、関数計算を用いて直接判断される。式(1)において表される距離近さ条件は、交差を判断するためにより効率的である。
【0046】
ステップ904:あらかじめ設定された長さを有し、第1のオーディオフレームおよび第2のオーディオフレーム中の候補位置をカバーする離散位置範囲内のすべてのサンプリングポイント値ペアの距離の和を取得する。
【0047】
あらかじめ設定された長さを有するとともに候補位置をカバーする離散位置範囲は候補位置を含み、離散位置セットは特定の量の離散位置を含み、つまり、離散位置セットは、あらかじめ設定された長さを有する。好ましくは、候補位置に先行し、後続する、特定の、および等しい量の離散位置が選択されて、候補位置とともに離散位置範囲を構成し得る。代替として、候補位置に先行し、後続する、異なる量の離散位置が選択されて、候補位置とともに離散位置範囲を構成し得る。離散位置セット中のすべての位置は好ましくは、シーケンス中で互いに隣接し得る。代替として、および明らかに、離散位置は、候補位置とともに離散位置範囲を構成するように、間隔を置いて選択されてよい。
【0048】
具体的には、端末は、候補位置セットから候補位置を1つずつ選択し、あらかじめ設定された長さを有するとともに第1のオーディオフレームおよび第2のオーディオフレーム中の選択された候補位置をカバーする離散位置範囲内のすべてのサンプリングポイント値ペアの距離の和を取得することができる。
【0049】
ある実施形態では、あらかじめ設定された長さを有するとともに第1のオーディオフレームおよび第2のオーディオフレーム中の候補位置をカバーする離散位置範囲内のすべてのサンプリングポイント値ペアの距離の和は、以下の式(2)を使うことによって取得され得る。
【0051】
上式で、nは、候補位置からNを減算することによって取得され、Nは[1,(m-1)/2]から選択されてよく、好ましくは[2,(m-1)/100]から選択されてよく、5であるのが最良であり得る。候補位置はn+Nであり、離散位置範囲は、候補位置n+Nから左方向および右方向に選択されたN個の位置とともに候補位置n+Nによって構成される、2N+1の長さを有する離散位置範囲[n,...,n+N,...,2N+n]である。|a
j-b
j|は、第1のオーディオフレームAおよび第2のオーディオフレームB中の離散位置範囲内の各サンプリングポイント値ペア(a
j,b
j)の距離である。R
nは、第1のオーディオフレームAおよび第2のオーディオフレームB中の離散位置範囲内のすべてのサンプリングポイント値ペア(a
j,b
j)の距離の和である。
【0052】
ステップ906:最も小さい距離和に対応する候補位置をフレームセグメント化位置として判断する。
【0053】
具体的には、候補位置セットから最良候補位置をフレームセグメント化位置として選択するために、候補位置セット中のすべての候補位置の距離の和がそれぞれ最初に算出されてよく、次いで、最も小さい距離和に対応する候補位置が、フレームセグメント化位置として選択されてよい。これは、具体的には、以下の式(3)を使うことによって表すことができる。
T=Min(R
n)
上式で、Tは目標関数である。目標関数Tを最適化し、最も小さい距離和に対応する候補位置nを取得することによって、フレームセグメント化位置n+Nが取得される。判断されたフレームセグメント化位置も、第1の差と第2の差の積が0以下であるという距離近さ条件を満足する。第1の差は、第1のオーディオフレーム中のフレームセグメント化位置におけるサンプリングポイント値と、第2のオーディオフレーム中の対応するフレームセグメント化位置におけるサンプリングポイント値との間の差である。第2の差は、第1のオーディオフレーム中のフレームセグメント化位置に後続する位置におけるサンプリングポイント値と、第2のオーディオフレーム中の対応する位置におけるサンプリングポイント値との間の差である。
【0054】
ステップ904〜ステップ906において、フレームセグメント化位置は、第1の近似曲線と第2の近似曲線の交差の最も近くに見つかった候補位置である。ステップ904は、対応する候補位置における第1のオーディオフレームと第2のオーディオフレームの局所相似度を取得する具体的なステップであり、ステップ906は、局所相似度に従ってフレームセグメント化位置を判断する具体的なステップである。候補位置における局所相似度は、候補位置に近い特定の範囲内で第1の近似曲線が第2の近似曲線に相似している度合を指す。式(2)を使うことによって算出された、より小さい局所相似度は、より高い相似度合を示す。第1の近似曲線が候補位置の近くで第2の近似曲線に相似している程、2つの曲線の傾きはより相似しており、第3のオーディオフレームがセグメント化およびスティッチング遷移によってより着実に取得され、そうすることによって雑音がより良好に抑止される。
【0055】
局所相似度はさらに、相互相関関数を使うことによって相互相関性を算出することによって取得することができる。2つの関数f(t)およびg(t)があると仮定すると、相互相関関数は、R(u)=f(t)*g(-t)と定義され、異なる相対的位置における2つの関数の間の一致度合を反映する。相互相関関数はさらに、2つの信号の間の相似度を表すことができる。いくつかのポイントにおける相互相関性を算出するためのこのソリューションに適用されると、2つの独立した同方向性サンプリングポイント値は、比較的強い相互相関を有する場合があり、このことは、2つの曲線の間のより強い相似度を示す。ただし、判断された位置は最良フレームセグメント化位置ではない。相互相関関数を使うことによって相互相関性を算出することの欠点は、式(2)を使うことによって取得される局所相似度によって克服される。すべての位置におけるサンプリングポイント値は、式(2)を使うことによって相互相関性を算出する際に、比較的同じ役割を果たす。さらに、差の絶対値を、ある位置におけるサンプリングポイント値がもたらす援助を測定する機能値として使うことによって、交差に先行する傾きと後続する傾きとの間の差をうまく記述することができ、最も適切な候補位置をフレームセグメント化位置として見つけることができる。
【0056】
ある実施形態では、オーディオデータ処理方法は、音効果がオンにされたとき、互いに隣接するとともに、指定されたチャネルのオーディオデータストリームから取得された第1のオーディオフレームおよび第2のオーディオフレームについて、第2のオーディオフレーム中のフレームセグメント化位置に先行するサンプリングポイント値および第1のオーディオフレーム中のフレームセグメント化位置に後続するサンプリングポイント値を取得するステップと、サンプリングポイント値を順にスティッチングして、第3のオーディオフレームを生成するステップと、第1のオーディオフレームと第2のオーディオフレームとの間に第3のオーディオフレームを挿入するステップと、挿入された第3のオーディオフレームに対してフェードイン処理を実施するステップであって、そうすることによって、挿入された第3のオーディオフレームは、時間シーケンスに従って、音効果なし状態から無損傷音効果状態に漸進的に遷移する、ステップとをさらに含む。
【0057】
具体的には、ステップ202、ステップ204およびステップ206の前半、つまり、オーディオフレームを挿入することは、指定されたチャネルのオーディオデータストリームに対して実施される。音効果をオンにするための命令は、オーディオフレームを挿入するための命令である。オンにされた音効果は、チャネル非同期に基づく音効果である。指定されたチャネルに1つのオーディオフレームを挿入することによって、指定されたチャネルのオーディオデータストリームは、残りのチャネルよりも1つのオーディオフレーム分遅くなり、それにより、ある音は、別の音よりも1つのオーディオフレームの時間長だけ遅く人の耳に届き、それによりサラウンドを生成する。
【0058】
音効果なし状態は、音効果がオンにされる前の状態であり、無損傷音効果状態は、音効果がオンにされた後の状態である。第3のオーディオフレームに対してフェードイン処理を実施することによって、挿入された第3のオーディオフレームは、第3のオーディオフレーム中のサンプリングポイント値の時間シーケンスに従って、音効果なし状態から無損傷音効果状態に漸進的に遷移し、そうすることによって、音効果の緩やかな遷移を達成する。たとえば、無損傷音効果状態でのボリュームが5倍に増大される必要がある場合、ボリュームの倍数は、ボリュームが5倍に増大されるまで漸進的に増大されてよく、そうすることによって、第3のオーディオフレームは、無損傷音効果状態において第2のオーディオフレームとシームレスにスティッチングされ得る。漸進的遷移は、線形遷移または曲線遷移であってよい。
【0059】
本実施形態では、音効果がオフにされると、ステップ202、ステップ204およびステップ206の後半、つまり、オーディオフレームを置き換えることが、指定されたチャネルのオーディオデータストリームに対して実施されてよく、フェードアウト処理が、取得された第4のオーディオフレームに対して実施されてよく、そうすることによって、取得された第4のオーディオフレームは、時間シーケンスに従って、無損傷音効果状態から音効果なし状態に漸進的に遷移する。フェードアウト処理はフェードイン処理の逆であり、音効果の影響を漸進的に取り除く処理プロセスである。
【0060】
本実施形態では、1つのオーディオフレームを消去するために、指定されたチャネルの2つのオーディオフレームが1つのオーディオフレームに置き換えられ、そうすることによって、指定されたチャネルは、別のチャネルと同期するように復元される。チャネル非同期に基づく音効果は素早くオン/オフにすることができ、そうすることによって、音効果切替えが向上する。
【0061】
ある実施形態では、音効果がオンにされたとき、互いに隣接するとともに、指定されたチャネルのオーディオデータストリームから取得された第1のオーディオフレームおよび第2のオーディオフレームについて、第1のオーディオフレーム中のフレームセグメント化位置に先行するサンプリングポイント値および第2のオーディオフレーム中のフレームセグメント化位置に後続するサンプリングポイント値を取得するステップ、サンプリングポイント値を順にスティッチングして、第4のオーディオフレームを生成し、第1のオーディオフレームおよび第2のオーディオフレームを第4のオーディオフレームに置き換えるステップ、ならびに取得された第4のオーディオフレームに対してフェードイン処理を実施するステップであって、そうすることによって、取得された第4のオーディオフレームが時間シーケンスに従って、音効果なし状態から無損傷音効果状態に漸進的に遷移する、ステップが実施され得る。
【0062】
本実施形態では、音効果がオフにされると、ステップ202、ステップ204およびステップ206の前半、すなわち、第2のオーディオフレーム中のフレームセグメント化位置に先行するサンプリングポイント値および第1のオーディオフレーム中のフレームセグメント化位置に後続するサンプリングポイント値を取得し、サンプリングポイント値を順にスティッチングして、第3のオーディオフレームを生成すること、第1のオーディオフレームと第2のオーディオフレームとの間に第3のオーディオフレームを挿入すること、ならびに挿入された第3のオーディオフレームに対してフェードアウト処理を実施することであって、そうすることによって、挿入された第3のオーディオフレームは、時間シーケンスに従って、無損傷音効果状態から音効果なし状態に漸進的に遷移する、実施することが、指定されたチャネルに対して実施され得る。本実施形態によると、チャネル非同期に基づく音効果は素早くオン/オフにすることもでき、そうすることによって、音効果切替えが向上する。
【0063】
図11に示すように、ある実施形態では、以下のステップを含むオーディオデータ処理方法が提供される。
【0064】
ステップ1102:音効果がオンにされたとき、互いに隣接する第1のオーディオフレームおよび第2のオーディオフレームを、指定されたチャネルのオーディオデータストリームから取得し、第1のオーディオフレームは、時間シーケンスにおいて第2のオーディオフレームに先行する。
【0065】
ステップ1104:第1の候補位置を取得し、第1のオーディオフレーム中の第1の候補位置におけるサンプリングポイント値および第2のオーディオフレーム中の対応する第1の候補位置におけるサンプリングポイント値は距離近さ条件を満足する。距離近さ条件は、第1の差と第2の差の積が0以下であることであり得る。第1の差は、第1のオーディオフレーム中の候補位置におけるサンプリングポイント値と第2のオーディオフレーム中の対応する候補位置におけるサンプリングポイント値との間の差である。第2の差は、第1のオーディオフレーム中の候補位置に後続する位置におけるサンプリングポイント値と第2のオーディオフレーム中の対応する位置におけるサンプリングポイント値との間の差である。
【0066】
ステップ1106:あらかじめ設定された長さを有し、第1のオーディオフレームおよび第2のオーディオフレーム中の第1の候補位置をカバーする離散位置範囲内のすべてのサンプリングポイント値ペアの距離の和を取得する。
【0067】
ステップ1108:最も小さい距離和に対応する第1の候補位置を第1のフレームセグメント化位置として判断する。
【0068】
ステップ1110:第2のオーディオフレーム中のフレームセグメント化位置に先行するサンプリングポイント値および第1のオーディオフレーム中のフレームセグメント化位置に後続するサンプリングポイント値を取得し、サンプリングポイント値を順にスティッチングして、第3のオーディオフレームを生成する。
【0069】
ステップ1112:第3のオーディオフレームを第1のオーディオフレームと第2のオーディオフレームとの間に挿入する。
【0070】
ステップ1114:挿入された第3のオーディオフレームに対してフェードイン処理を実施し、そうすることによって、挿入された第3のオーディオフレームは、時間シーケンスに従って、音効果なし状態から無損傷音効果状態に漸進的に遷移する。
【0071】
ステップ1116:音効果がオフにされたとき、互いに隣接する第5のオーディオフレームおよび第6のオーディオフレームを、指定されたチャネルのオーディオデータストリームから取得し、第5のオーディオフレームは、時間シーケンスにおいて第6のオーディオフレームに先行する。第5のオーディオフレームは、第4のオーディオフレームを生成するための、
図2に示す実施形態におけるステップ206における第1のオーディオフレームと等価であり、第6のオーディオフレームは、第4のオーディオフレームを生成するための、
図2に示す実施形態におけるステップ206における第2のオーディオフレームと等価である。
【0072】
ステップ1118:第2の候補位置を取得し、第5のオーディオフレーム中の第2の候補位置におけるサンプリングポイント値および第6のオーディオフレーム中の対応する第2の候補位置におけるサンプリングポイント値は距離近さ条件を満足する。距離近さ条件は、第1の差と第2の差の積が0以下であることであり得る。第1の差は、第5のオーディオフレーム中の候補位置におけるサンプリングポイント値と、第6のオーディオフレーム中の対応する候補位置におけるサンプリングポイント値との間の差である。第2の差は、第5のオーディオフレーム中の候補位置に後続する位置におけるサンプリングポイント値と第6のオーディオフレーム中の対応する位置におけるサンプリングポイント値との間の差である。
【0073】
ステップ1120:あらかじめ設定された長さを有し、第5のオーディオフレームおよび第6のオーディオフレーム中の第2の候補位置をカバーする離散位置範囲内のすべてのサンプリングポイント値ペアの距離の和を取得する。
【0074】
ステップ1122:最も小さい距離和に対応する第2の候補位置を第2のフレームセグメント化位置として判断する。
【0075】
ステップ1124:第5のオーディオフレーム中の第2のフレームセグメント化位置に先行するサンプリングポイント値および第6のオーディオフレーム中の第2のフレームセグメント化位置に後続するサンプリングポイント値を取得し、サンプリングポイント値を順にスティッチングして、第4のオーディオフレームを生成する。
【0076】
ステップ1126:第5のオーディオフレームおよび第6のオーディオフレームを第4のオーディオフレームに置き換える。
【0077】
ステップ1128:取得された第4のオーディオフレームに対してフェードアウト処理を実施し、そうすることによって、取得された第4のオーディオフレームは、時間シーケンスに従って、無損傷音効果状態から音効果なし状態に漸進的に遷移する。
【0078】
上記のオーディオデータ処理方法において、オーディオフレームが挿入される必要があるとき、第2のオーディオフレーム中のフレームセグメント化位置に先行する部分と、第1のオーディオフレーム中のフレームセグメント化位置に後続する部分がスティッチングされて、第3のオーディオフレームが得られ、第3のオーディオフレームが、第1のオーディオフレームと第2のオーディオフレームとの間に挿入される。挿入の後、第3のオーディオフレームの先行部分は第2のオーディオフレームの先行部分になり、第3のオーディオフレームの後続部分は第1のオーディオフレームの後続部分になる。第1のオーディオフレームと第2のオーディオフレームはシームレスにスティッチングされるので、第3のオーディオフレームの先行部分と第1のオーディオフレームはシームレスにスティッチングされてよく、第3のオーディオフレームの後続部分と第2のオーディオフレームはシームレスにスティッチングされてよい。さらに、第3のオーディオフレームは、フレームセグメント化位置において距離近さ条件を満足するので、スティッチングされたエリアにおいて、過度に大きく、急激な変化は起こらない。このようにして、オーディオフレームが挿入されるときにオーディオフレームの間をスキップすることによって引き起こされる雑音は、実質的に克服される。
【0079】
オーディオフレームが消去される必要があるとき、第1のオーディオフレーム中のフレームセグメント化位置に先行する部分と、第2のオーディオフレーム中のフレームセグメント化位置に後続する部分がスティッチングされて、第4のオーディオフレームが得られ、第1のオーディオフレームおよび第2のオーディオフレームは第4のオーディオフレームに置き換えられる。置換えの後、第4のオーディオフレームの先行部分は第1のオーディオフレームの先行部分になり、第4のオーディオフレームの後続部分は第2のオーディオフレームの後続部分になる。第1のオーディオフレームと先行オーディオフレームはシームレスにスティッチングされ、第2のオーディオフレームと後続オーディオフレームはシームレスにスティッチングされるので、第4のオーディオフレームと第1のオーディオフレームの先行部分はシームレスにスティッチングされてよく、第4のオーディオフレームと、第2のオーディオフレームの後続オーディオフレームは、置換えの後でシームレスにスティッチングされてよい。さらに、第4のオーディオフレームは、フレームセグメント化位置において距離近さ条件を満足するので、スティッチングされたエリアにおいて、過度に大きく、急激な変化は起こらない。このようにして、オーディオフレームが挿入されるときにオーディオフレームの間をスキップすることによって引き起こされる雑音は、実質的に克服される。
【0080】
本出願は、端末をさらに提供する。端末の内部構造は、
図1に示す構造に対応し得る。以下のモジュールのうちの一部または全部は、ソフトウェア、ハードウェアまたはそれらの組合せによって実装され得る。
図12に示すように、ある実施形態では、端末1200は、オーディオフレーム取得モジュール1201およびフレームセグメント化位置判断モジュール1202を含み、オーディオフレーム挿入モジュール1203またはオーディオフレーム置換えモジュール1204のうちの少なくとも1つをさらに含む。
【0081】
オーディオフレーム取得モジュール1201は、オーディオデータストリームから、互いに隣接する第1のオーディオフレームおよび第2のオーディオフレームを取得するように構成され、第1のオーディオフレームは、時間シーケンスにおいて第2のオーディオフレームに先行する。
【0082】
具体的には、オーディオデータストリームは、時間シーケンスを有する一連のサンプリングポイント値を含む。サンプリングポイント値は、特定のオーディオサンプリングレートに従って元のアナログ音信号をサンプリングすることによって取得される。一連のサンプリングポイント値が音を記述し得る。オーディオサンプリングレートは、1秒間に収集されるサンプリングポイントの量を指し、単位はヘルツである。より高いオーディオサンプリングレートは、記述され得るより高い音響周波数を示す。
【0083】
オーディオフレームは、時間シーケンスと特定の量とを有するサンプリングポイント値を含む。オーディオデータストリームのコーディングフォーマットに従って、コーディングフォーマットでのオーディオフレームがある場合、オーディオフレームは直接使われ得る。オーディオフレームはないが、時間シーケンスを有する一連のサンプリングポイント値がある場合、オーディオフレームは、あらかじめ設定されたフレーム長に従って、時間シーケンスを有する一連のサンプリングポイント値からセグメント化され得る。あらかじめ設定されたフレーム長は、1つのオーディオフレームに含まれるサンプリングポイント値のあらかじめ設定された量を指す。
【0084】
オーディオフレーム取得モジュール1201によってオーディオデータストリームから取得された第1のオーディオフレームおよび第2のオーディオフレームは隣接し、第1のオーディオフレームは時間シーケンスにおいて第2のオーディオフレームに先行する。つまり、オーディオデータストリームに対して再生処理を実施するとき、第1のオーディオフレームは第2のオーディオフレームの前に再生される。第1のオーディオフレームおよび第2のオーディオフレームは、オーディオフレームがその間に挿入される必要がある2つの隣接するオーディオフレームである。
【0085】
フレームセグメント化位置判断モジュール1202は、フレームセグメント化位置を判断するように構成され、第1のオーディオフレーム中のフレームセグメント化位置におけるサンプリングポイント値および第2のオーディオフレーム中のフレームセグメント化位置におけるサンプリングポイント値は距離近さ条件を満足する。
【0086】
具体的には、フレームセグメント化位置は、第1のオーディオフレームおよび第2のオーディオフレームがセグメント化される位置であり、オーディオフレームに相対した位置である。距離が、2つのオーディオフレーム中の対応する位置にある2つのサンプリングポイント値の間の差の絶対値を指す。たとえば、第1のオーディオフレームAのサンプリングポイント値の、
図4に示す部分的分布図、および第2のオーディオフレームBのサンプリングポイント値の、
図5に示す部分的分布図を参照する。第1のオーディオフレームAの第1のサンプリングポイント値と第2のオーディオフレームBの第1のサンプリングポイント値との間の差の絶対値は、第1のオーディオフレームAの第1のサンプリングポイント値と第2のオーディオフレームBの第1のサンプリングポイント値との間の距離である。
【0087】
距離近さ条件は、2つのサンプリングポイント値の間の距離が近いかどうかを判断するために使われる量子化条件である。ある実施形態では、距離近さ条件は、距離が0に等しいこと、または2つのサンプリングポイント値の間の距離が等しくないが近いことであってよい。たとえば、距離は閾以下である。閾は、あらかじめ設定されてよく、または第1のオーディオフレームおよび/もしくは第2のオーディオフレームのサンプリングポイント値のダイナミックに従って判断されてよい。たとえば、閾は、第1のオーディオフレームおよび/または第2のオーディオフレームのサンプリングポイント値の平均値を、あらかじめ設定された割合で乗算することによって取得され得る。
【0088】
ある実施形態では、フレームセグメント化位置判断モジュール1202は、第1のオーディオフレームおよび第2のオーディオフレームからなる各サンプリングポイント値ペアの距離を算出して、最も小さい距離を有するサンプリングポイント値ペアを選択することができる。フレームセグメント化位置は、最も小さい距離を有する、選択されたサンプリングポイント値ペアに対応する位置である。この場合、距離近さ条件は、第1のオーディオフレームおよび第2のオーディオフレーム中のフレームセグメント化位置に対応するサンプリングポイント値ペアの距離が最も小さいことである。本明細書におけるサンプリングポイント値ペアは、2つのオーディオフレーム中の同じ位置にある2つのサンプリングポイント値を指す。サンプリングポイント値の位置は、サンプリングポイント値が属するオーディオフレームに相対したサンプリングポイント値の位置である。
【0089】
オーディオフレーム挿入モジュール1203は、第2のオーディオフレーム中のフレームセグメント化位置に先行するサンプリングポイント値および第1のオーディオフレーム中のフレームセグメント化位置に後続するサンプリングポイント値を取得し、サンプリングポイント値を順にスティッチングして、第3のオーディオフレームを生成し、第1のオーディオフレームと第2のオーディオフレームとの間に第3のオーディオフレームを挿入するように構成される。
【0090】
具体的には、オーディオフレームが挿入される必要があるとき、オーディオフレーム挿入モジュール1203は、第2のオーディオフレーム中のフレームセグメント化位置に先行するサンプリングポイント値を取得し、第1のオーディオフレーム中のフレームセグメント化位置に後続するサンプリングポイント値を取得する。取得されたサンプリングポイント値の量は、1つのオーディオフレームの長さに完全に等しい。第2のオーディオフレームのサンプリングポイント値と第1のオーディオフレームのサンプリングポイント値は順にスティッチングされて、第3のオーディオフレームを生成する。さらに、第2のオーディオフレームからのサンプリングポイント値は、第2のオーディオフレーム中のシーケンスに従ってランク付けされ、第1のオーディオフレームからのサンプリングポイント値は、第1のオーディオフレーム中のシーケンスに従ってランク付けされる。最終的に、生成された第3のオーディオフレームは、第1のオーディオフレームと第2のオーディオフレームとの間に挿入される。
【0091】
オーディオフレーム置換えモジュール1204は、第1のオーディオフレーム中のフレームセグメント化位置に先行するサンプリングポイント値および第2のオーディオフレーム中のフレームセグメント化位置に後続するサンプリングポイント値を取得し、サンプリングポイント値を順にスティッチングして、第4のオーディオフレームを生成し、第1のオーディオフレームおよび第2のオーディオフレームを第4のオーディオフレームに置き換えるように構成される。
【0092】
オーディオフレームが消去される必要があるとき、オーディオフレーム置換えモジュール1204は、第1のオーディオフレーム中のフレームセグメント化位置に先行するサンプリングポイント値を取得し、第2のオーディオフレーム中のフレームセグメント化位置に後続するサンプリングポイント値を取得する。取得されたサンプリングポイント値の量は、1つのオーディオフレームの長さに完全に等しい。第1のオーディオフレームのサンプリングポイント値と第2のオーディオフレームのサンプリングポイント値は順にスティッチングされて、第4のオーディオフレームが得られる。さらに、第1のオーディオフレームからのサンプリングポイント値は、第1のオーディオフレーム中のシーケンスに従ってランク付けされ、第2のオーディオフレームからのサンプリングポイント値は、第2のオーディオフレーム中のシーケンスに従ってランク付けされる。最終的に、第1のオーディオフレームおよび第2のオーディオフレームは、生成された第4のオーディオフレームに置き換えられる。
【0093】
端末1200の場合、オーディオフレームが挿入される必要があるとき、第2のオーディオフレーム中のフレームセグメント化位置に先行する部分と、第1のオーディオフレーム中のフレームセグメント化位置に後続する部分がスティッチングされて、第3のオーディオフレームが得られ、第3のオーディオフレームが、第1のオーディオフレームと第2のオーディオフレームとの間に挿入される。挿入の後、第3のオーディオフレームの先行部分は第2のオーディオフレームの先行部分になり、第3のオーディオフレームの後続部分は第1のオーディオフレームの後続部分になる。第1のオーディオフレームと第2のオーディオフレームはシームレスにスティッチングされるので、第3のオーディオフレームの先行部分と第1のオーディオフレームはシームレスにスティッチングされてよく、第3のオーディオフレームの後続部分と第2のオーディオフレームはシームレスにスティッチングされてよい。さらに、第3のオーディオフレームは、フレームセグメント化位置において距離近さ条件を満足するので、スティッチングされたエリアにおいて、過度に大きく、急激な変化は起こらない。このようにして、オーディオフレームが挿入されるときにオーディオフレームの間をスキップすることによって引き起こされる雑音は、実質的に克服される。
【0094】
オーディオフレームが消去される必要があるとき、第1のオーディオフレーム中のフレームセグメント化位置に先行する部分と、第2のオーディオフレーム中のフレームセグメント化位置に後続する部分がスティッチングされて、第4のオーディオフレームが得られ、第1のオーディオフレームおよび第2のオーディオフレームは第4のオーディオフレームに置き換えられる。置換えの後、第4のオーディオフレームの先行部分は第1のオーディオフレームの先行部分になり、第4のオーディオフレームの後続部分は第2のオーディオフレームの後続部分になる。第1のオーディオフレームと先行オーディオフレームはシームレスにスティッチングされ、第2のオーディオフレームと後続オーディオフレームはシームレスにスティッチングされるので、第4のオーディオフレームと第1のオーディオフレームの先行部分はシームレスにスティッチングされてよく、第4のオーディオフレームと、第2のオーディオフレームの後続オーディオフレームは、置換えの後でシームレスにスティッチングされてよい。さらに、第4のオーディオフレームは、フレームセグメント化位置において距離近さ条件を満足するので、スティッチングされたエリアにおいて、過度に大きく、急激な変化は起こらない。このようにして、オーディオフレームが挿入されるときにオーディオフレームの間をスキップすることによって引き起こされる雑音は、実質的に克服される。
【0095】
図13に示すように、ある実施形態では、端末1200は、リアルタイムの再生処理がオーディオデータストリームに対して実施されるとき、少なくとも1つのオーディオフレームの長さをもつサンプリングポイント値のコピーを確保するように構成されたコピー確保モジュール1205をさらに含む。
【0096】
オーディオフレーム取得モジュール1201は、オーディオフレームを挿入するための命令が検出されると、再生処理が実施されているサンプリングポイント値の前の、再生処理が実施されるサンプリングポイント値の確保されたコピーに従って、第1のオーディオフレームを取得し、再生処理が実施されているサンプリングポイント値に後続する、1つのオーディオフレームの長さをもつサンプリングポイント値に従って、第2のオーディオフレームを取得するようにさらに構成される。
【0097】
再生処理は、サンプリングポイント値に従って音信号が復元されることを指す。少なくとも1つのオーディオフレームの長さをもつサンプリングポイント値のコピーを確保することは、少なくとも1つのオーディオフレームのコピーを確保することを指す。具体的には、
図8を参照すると、サンプリングポイント値A1に対して再生処理が実施されるとき、コピー確保モジュール1205は、サンプリングポイント値A1のコピーA1'を確保する。サンプリングポイント値A1の前に再生処理が実施されるサンプリングポイント値のコピーも確保される。確保されるコピーの全長は、少なくとも1つのオーディオフレームの長さである。
【0098】
1つのオーディオフレームの長さの後のサンプリングポイント値B1に対して再生処理が実施されており、コピー確保モジュール1205は、サンプリングポイント値B1のコピーB1'をさらに確保する。この場合、確保されるコピーは、少なくともオーディオフレームAのコピーA'を含む。オーディオフレーム取得モジュール1201が、オーディオフレームを挿入するための命令を検出すると仮定すると、オーディオフレーム取得モジュール1201は、サンプリングポイント値A1から、再生処理が実施されるサンプリングポイント値B1までの、1つのオーディオフレームの長さをもつサンプリングポイント値のコピーを第1のオーディオフレームAとして使い、1つのオーディオフレームの長さをもつとともにサンプリングポイント値B1に後続するオーディオフレームBを第2のオーディオフレームとして使う。
【0099】
本実施形態では、オーディオデータストリームに対してリアルタイムの再生処理が実施されるときに少なくとも1つのオーディオフレームのコピーを確保することによって、端末は、オーディオフレームを挿入するための命令を検出すると、1つのオーディオフレームの時間長だけ待つことなく、命令に直ちに応答することができ、そうすることによって、オーディオフレームを挿入する効率を向上させる。
【0100】
図14に示すように、ある実施形態では、フレームセグメント化位置判断モジュール1202は、候補位置取得モジュール1202a、相似度測定モジュール1202b、および判断モジュール1202cを含む。
【0101】
候補位置取得モジュール1202aは、候補位置を取得するように構成され、第1のオーディオフレーム中の候補位置におけるサンプリングポイント値および第2のオーディオフレーム中の対応する候補位置におけるサンプリングポイント値は距離近さ条件を満足する。相似度測定モジュール1202bは、対応する候補位置における第1のオーディオフレームおよび第2のオーディオフレームの局所相似度を取得するように構成される。判断モジュール1202cは、局所相似度に従ってフレームセグメント化位置を判断するように構成される。
【0102】
候補位置取得モジュール1202aは、候補位置を取得するように構成され、第1のオーディオフレーム中の候補位置におけるサンプリングポイント値および第2のオーディオフレーム中の対応する候補位置におけるサンプリングポイント値は距離近さ条件を満足する。
【0103】
候補位置とは、フレームセグメント化位置として使うことができる、オーディオフレーム中の選択された位置であり、複数の候補位置が離散している。各サンプリングポイント値は、離散位置に対応する。具体的には、候補位置取得モジュール1202aは、オーディオフレーム中のすべての位置を横断し、位置が横断される度に、第1のオーディオフレームおよび第2のオーディオフレーム中の対応する位置にあるサンプリングポイント値ペアが距離近さ条件を満足するかどうかを判断し得る。サンプリングポイント値ペアが距離近さ条件を満足する場合、候補位置取得モジュール1202aは、横断される位置を候補位置セットに追加し、横断は継続される。サンプリングポイント値ペアが距離近さ条件を満足しない場合、横断は継続される。横断後に候補位置セットが依然として空である場合、候補位置取得モジュール1202aは、あらかじめ設定された位置(オーディオフレーム中の中央位置など)または最も小さい距離をもつサンプリングポイント値ペアの位置を選択し、候補位置セットに追加してよい。
【0104】
距離近さ条件は、2つのサンプリングポイント値の間の距離が近いかどうかを判断するために使われる量子化条件である。ある実施形態では、距離近さ条件は、距離が0に等しいこと、または2つのサンプリングポイント値の間の距離が等しくないが近いことであってよい。たとえば、距離は閾以下である。閾は、あらかじめ設定されてよく、または第1のオーディオフレームおよび/もしくは第2のオーディオフレームのサンプリングポイント値のダイナミックに従って判断されてよい。
【0105】
ある実施形態では、候補位置取得モジュール1202aは、第1のオーディオフレームおよび第2のオーディオフレーム中の各サンプリングポイント値ペアの距離を算出し、距離を昇順でランク付けし得る。次いで、端末1200は、最上位にランク付けされている、あらかじめ設定された距離量に対応する位置を候補位置セットに追加してよい。この場合、距離近さ条件は、第1のオーディオフレームおよび第2のオーディオフレーム中の候補位置に対応するサンプリングポイント値ペアの距離が、昇順でランク付けされているすべての算出された距離の前にランク付けされているあらかじめ設定された距離量であることである。代替として、候補位置取得モジュール1202aは、すべての算出された距離のうちのあらかじめ設定された割合を占める距離であって、最も小さい距離から始まって取得される距離に対応する位置を追加してよい。この場合、距離近さ条件は、第1のオーディオフレームおよび第2のオーディオフレーム中の候補位置に対応するサンプリングポイント値ペアの距離が、昇順でランク付けされたすべての算出された距離の前にランク付けされている距離であって、算出された距離のあらかじめ設定された割合を占める距離であることである。
【0106】
ある実施形態では、距離近さ条件は、第1の差と第2の差の積が0以下であることである。第1の差は、第1のオーディオフレーム中の候補位置におけるサンプリングポイント値と第2のオーディオフレーム中の対応する候補位置におけるサンプリングポイント値との間の差である。第2の差は、第1のオーディオフレーム中の候補位置に後続する位置におけるサンプリングポイント値と第2のオーディオフレーム中の対応する位置におけるサンプリングポイント値との間の差である。
【0107】
具体的には、第1のオーディオフレームAが[a
1,a
2,...,a
m]であり、第2のオーディオフレームBが[b
1,b
2,...,b
m]であると仮定すると、距離近さ条件は、以下の式(1)を使うことによって表すことができる。
(a
i-b
i)*(a
i+1-b
i+1)≦0, (i∈[1,m-1]) 式(1)
上式で、iは、第1のオーディオフレームAおよび第2のオーディオフレームB中の候補位置を表し、サンプリングポイント値シーケンス番号と呼ばれてよく、mは、1つのオーディオフレームの長さであり、(a
i-b
i)は、第1のオーディオフレームA中の候補位置iにおけるサンプリングポイント値a
iと、第2のオーディオフレームB中の対応する候補位置iにおけるサンプリングポイント値b
iとの間の差を表す第1の差であり、(a
i+1-b
i+1)は、第1のオーディオフレームA中の候補位置iに後続する位置i+1におけるサンプリングポイント値a
i+1と、第2のオーディオフレームB中の対応する位置i+1におけるサンプリングポイント値b
i+1との間の差を表す第2の差であり、式(1)は、第1の差(a
i-b
i)と第2の差(a
i+1-b
i+1)の積が0以下であることを表す。
【0108】
式(1)において表される距離近さ条件は、第1のオーディオフレームのサンプリングポイント値によって構成される第1の近似曲線と、第2のオーディオフレームのサンプリングポイント値によって構成される第2の近似曲線の交差を見つけるために使われる。代替として、2つの曲線の交差は別のやり方で判断されてよい。交差がちょうど、サンプリングポイント値の位置である場合、その位置は候補位置セットに追加される。交差が、どのサンプリングポイント値の位置でもない場合、オーディオフレーム中のすべての位置の中で、交差に最も近い位置が、候補位置セットに追加されてよい。たとえば、
図10では、交差Xが第1の近似曲線および第2の近似曲線によって形成され、それにより、交差Xに最も近い位置S1またはS2が、候補位置セットに追加され得る。2つの曲線の交差が判断される別のやり方がある。たとえば、2つの近似曲線の代数表現が、それぞれ最初に取得され、次いで、交差が、関数計算を用いて直接判断される。式(1)において表される距離近さ条件は、交差を判断するためにより効率的である。
【0109】
相似度測定モジュール1202bは、あらかじめ設定された長さを有し、第1のオーディオフレームおよび第2のオーディオフレーム中の候補位置をカバーする離散位置範囲内のすべてのサンプリングポイント値ペアの距離の和を取得するようにさらに構成される。
【0110】
あらかじめ設定された長さを有するとともに候補位置をカバーする離散位置範囲は候補位置を含み、離散位置セットは特定の量の離散位置を含み、つまり、離散位置セットは、あらかじめ設定された長さを有する。具体的には、相似度測定モジュール1202bは、候補位置セットから候補位置を1つずつ選択し、あらかじめ設定された長さを有するとともに第1のオーディオフレームおよび第2のオーディオフレーム中の選択された候補位置をカバーする離散位置範囲内のすべてのサンプリングポイント値ペアの距離の和を取得することができる。
【0111】
ある実施形態では、相似度測定モジュール1202bは、あらかじめ設定された長さを有するとともに第1のオーディオフレームおよび第2のオーディオフレーム中の候補位置をカバーする離散位置範囲内のすべてのサンプリングポイント値ペアの距離の和を、以下の式(2)を使うことによって取得することができる。
【0113】
上式で、nは、候補位置からNを減算することによって取得され、Nは[1,(m-1)/2]から選択されてよく、好ましくは[2,(m-1)/100]から選択されてよく、5であるのが最良であり得る。候補位置はn+Nであり、離散位置範囲は、候補位置n+Nから左方向および右方向に選択されたN個の位置とともに候補位置n+Nによって構成される、2N+1の長さを有する離散位置範囲[n,...,n+N,...,2N+n]である。|a
j-b
j|は、第1のオーディオフレームAおよび第2のオーディオフレームB中の離散位置範囲内の各サンプリングポイント値ペア(a
j,b
j)の距離である。R
nは、第1のオーディオフレームAおよび第2のオーディオフレームB中の離散位置範囲内のすべてのサンプリングポイント値ペア(a
j,b
j)の距離の和である。
【0114】
判断モジュール1202cは、最も小さい距離和に対応する候補位置をフレームセグメント化位置として判断するように構成される。
【0115】
相似度測定モジュール1202bは、対応する候補位置における第1のオーディオフレームおよび第2のオーディオフレームの局所相似度を取得するように構成され、判断モジュール1202cは、局所相似度に従ってフレームセグメント化位置を判断するように構成される。
【0116】
具体的には、候補位置セットから最良候補位置をフレームセグメント化位置として選択するために、候補位置セット中のすべての候補位置の距離の和がそれぞれ最初に算出されてよく、次いで、最も小さい距離和に対応する候補位置が、フレームセグメント化位置として選択されてよい。これは、具体的には、以下の式(3)を使うことによって表すことができる。
T=Min(R
n)
上式で、Tは目標関数である。目標関数Tを最適化し、最も小さい距離和に対応する候補位置nを取得することによって、フレームセグメント化位置n+Nが取得される。判断されたフレームセグメント化位置も、第1の差と第2の差の積が0以下であるという距離近さ条件を満足する。第1の差は、第1のオーディオフレーム中のフレームセグメント化位置におけるサンプリングポイント値と、第2のオーディオフレーム中の対応するフレームセグメント化位置におけるサンプリングポイント値との間の差である。第2の差は、第1のオーディオフレーム中のフレームセグメント化位置に後続する位置におけるサンプリングポイント値と、第2のオーディオフレーム中の対応する位置におけるサンプリングポイント値との間の差である。
【0117】
本実施形態では、フレームセグメント化位置は、第1の近似曲線と第2の近似曲線の交差の最も近くに見つかった候補位置である。候補位置における局所相似度は、候補位置に近い特定の範囲内で第1の近似曲線が第2の近似曲線に相似している度合を指す。式(2)を使うことによって算出された、より小さい局所相似度は、より高い相似度合を示す。第1の近似曲線が候補位置の近くで第2の近似曲線に相似している程、2つの曲線の傾きはより相似しており、第3のオーディオフレームがセグメント化およびスティッチング遷移によってより着実に取得され、そうすることによって雑音がより良好に抑止される。
【0118】
局所相似度はさらに、相互相関関数を使うことによって相互相関性を算出することによって取得することができる。相互相関関数はさらに、2つの信号の間の相似度を表すことができる。いくつかのポイントにおける相互相関性を算出するためのこのソリューションに適用されると、2つの独立した同方向性サンプリングポイント値は、比較的強い相互相関を有する場合があり、このことは、2つの曲線の間のより強い相似度を示す。ただし、判断された位置は最良フレームセグメント化位置ではない。相互相関関数を使うことによって相互相関性を算出することの欠点は、式(2)を使うことによって取得される局所相似度によって克服される。すべての位置におけるサンプリングポイント値は、式(2)を使うことによって相互相関性を算出する際に、比較的同じ役割を果たす。さらに、差の絶対値を、ある位置におけるサンプリングポイント値がもたらす援助を測定する機能値として使うことによって、交差に先行する傾きと後続する傾きとの間の差をうまく記述することができ、最も適切な候補位置をフレームセグメント化位置として見つけることができる。
【0119】
ある実施形態では、オーディオフレーム挿入モジュール1203は、音効果がオンにされたとき、互いに隣接するとともに、指定されたチャネルのオーディオデータストリームから取得された第1のオーディオフレームおよび第2のオーディオフレームについて、第2のオーディオフレーム中のフレームセグメント化位置に先行するサンプリングポイント値および第1のオーディオフレーム中のフレームセグメント化位置に後続するサンプリングポイント値を取得し、サンプリングポイント値を順にスティッチングして、第3のオーディオフレームを生成すること、ならびに第1のオーディオフレームと第2のオーディオフレームとの間に第3のオーディオフレームを挿入し、挿入された第3のオーディオフレームに対してフェードイン処理を実施することであって、そうすることによって、挿入された第3のオーディオフレームは、時間シーケンスに従って、音効果なし状態から無損傷音効果状態に漸進的に遷移する、実施することを行うようにさらに構成される。
【0120】
本実施形態では、オーディオフレーム置換えモジュール1204は、音効果がオフにされると、第1のオーディオフレーム中のフレームセグメント化位置に先行するサンプリングポイント値および第2のオーディオフレーム中のフレームセグメント化位置に後続するサンプリングポイント値を取得し、サンプリングポイント値を順にスティッチングして、第4のオーディオフレームを生成すること、ならびに第1のオーディオフレームおよび第2のオーディオフレームを第4のオーディオフレームに置き換え、取得された第4のオーディオフレームに対してフェードアウト処理を実施することであって、そうすることによって、取得された第4のオーディオフレームは、時間シーケンスに従って、無損傷音効果状態から音効果なし状態に漸進的に遷移する、実施することを行うようにさらに構成される。
【0121】
ある実施形態では、オーディオフレーム置換えモジュール1204は、音効果がオンにされたとき、互いに隣接するとともに、指定されたチャネルのオーディオデータストリームから取得された第1のオーディオフレームおよび第2のオーディオフレームについて、第1のオーディオフレーム中のフレームセグメント化位置に先行するサンプリングポイント値および第2のオーディオフレーム中のフレームセグメント化位置に後続するサンプリングポイント値を取得し、サンプリングポイント値を順にスティッチングして、第4のオーディオフレームを生成すること、ならびに第1のオーディオフレームおよび第2のオーディオフレームを第4のオーディオフレームに置き換え、取得された第4のオーディオフレームに対してフェードアウト処理を実施することであって、そうすることによって、取得された第4のオーディオフレームは、時間シーケンスに従って、無損傷音効果状態から音効果なし状態に漸進的に遷移する、実施することを行うようにさらに構成される。
【0122】
ある実施形態では、オーディオフレーム挿入モジュール1203は、互いに隣接するとともに、指定されたチャネルのオーディオデータストリームから取得された第1のオーディオフレームおよび第2のオーディオフレームについて、音効果がオフにされると、第2のオーディオフレーム中のフレームセグメント化位置に先行するサンプリングポイント値および第1のオーディオフレーム中のフレームセグメント化位置に後続するサンプリングポイント値を取得し、サンプリングポイント値を順にスティッチングして、第3のオーディオフレームを生成すること、ならびに第1のオーディオフレームと第2のオーディオフレームとの間に第3のオーディオフレームを挿入し、第3のオーディオフレームに対してフェードアウト処理を実施することであって、そうすることによって、挿入された第3のオーディオフレームが、時間シーケンスに従って、無損傷音効果状態から音効果なし状態に漸進的に遷移する、実施することを行うようにさらに構成される。
【0123】
実施形態における方法の手順の全部または一部は、関連ハードウェアに命令するコンピュータプログラムによって実装され得ることが、当業者には理解されよう。プログラムは、コンピュータ可読記憶媒体に記憶され得る。プログラムが稼動すると、実施形態における方法の手順が実施される。記憶媒体は、磁気ディスク、光ディスク、または読取り専用メモリ(ROM)、ランダムアクセスメモリ(RAM)などの不揮発性記憶媒体であってよい。
【0124】
上記の実施形態の技術的特徴は、任意に組み合わされてよい。簡潔のために、上記の実施形態における技術的特徴のすべての可能な組合せが記載されているわけではない。ただし、これらの技術的特徴は、衝突が起こらない限り、本明細書の保護範囲内であると見なされるべきである。
【0125】
記載される実施形態は、具体的および詳細に記載されている、本出願のいくつかの実施形態にすぎない。ただし、本開示の特許範囲に対する限定として理解されるべきではない。当業者はさらに、本出願の概念から逸脱することなく、いくつかの変形および改良を行ってよく、変形および改良は本出願の保護範囲内であるものとすることに留意されたい。したがって、本出願の保護範囲は、添付の請求項の保護範囲の対象であるものとする。