以下に、添付図面を参照して、この出願について詳細に更に説明する。
この出願の実施形態は、オーディオ信号、特にステレオ信号の符号化及び復号化に適用可能である。現在、ステレオ信号符号化は、主に、以下のプロセス、すなわち、時間領域前処理、遅延推定及び符号化、遅延アライメント、時間領域分析、ダウンミックスパラメータ抽出及び符号化、時間領域ダウンミックス処理、ダウンミックス信号符号化等を含む。オーディオ信号の復号化プロセスは、オーディオ信号の符号化プロセスと反対でもよく、詳細はここでは説明しない。
符号化プロセスは単なる例に過ぎず、実際の符号化プロセスは変化してもよい。これは、この出願の実施形態では限定されない。この出願の実施形態では、遅延アライメントが主に処理される。以下に、遅延アライメントについて詳細に説明する。さらに、符号化プロセスの他のステップについては、従来技術における説明を参照する。詳細はここでは一つずつ説明しない。
この出願の実施形態では、ステレオ信号の各フレームは、左チャンネル信号及び右チャンネル信号を含み、フレーム長はNであり、Nは0より大きい正整数である。
図1は、この出願の実施形態によるステレオ信号処理方法の概略フローチャートである。
図1を参照すると、当該方法は、以下のステップを含む。
ステップ101:現在のフレームのチャンネル間時間差を決定するために、現在のフレームのステレオ信号に対して遅延推定を実行し、現在のフレームのチャンネル間時間差は、現在のフレームの第1のチャンネル信号と現在のフレームの第2のチャンネル信号との間の時間差である。
ステップ102:現在のフレームのチャンネル間時間差の符号が、現在のフレームの前のフレームのチャンネル間時間差の符号と異なる場合、現在のフレームのチャンネル間時間差に基づいて現在のフレームの第1のチャンネル信号に対して遅延アライメント処理を実行し、前のフレームのチャンネル間時間差に基づいて現在のフレームの第2のチャンネル信号に対して遅延アライメント処理を実行し、第1のチャンネル信号は、現在のフレームのターゲットチャンネル信号であり、第2のチャンネル信号は、前のフレームのターゲットチャンネル信号と同じチャンネル上にある。
現在のフレームの前のフレーム及び現在のフレームは、2つの隣接するフレームであり、時系列において連続する。
ステップ101において、現在のフレームに対して遅延推定を実行するプロセスは以下の通りでもよい。
ステップ1:現在のフレームの左チャンネル信号及び右チャンネル信号に対して時間領域前処理を実行する。
ステレオ信号のサンプリングレートが16KHzである場合、ステレオ信号の1つのフレームの持続時間は20msであり、フレーム長はNとして記され、N=320であり、すなわち、フレーム長は320個のサンプリング点である。現在のフレームのステレオ信号は、現在のフレームの左チャンネル信号と、現在のフレームの右チャンネル信号とを含み、現在のフレームの左チャンネル信号はxL(n)として記され、現在のフレームの右チャンネル信号はxR(n)として記され、nはサンプリング点シーケンス番号であり、n=0,1,...,N-1である。
現在のフレームの左チャンネル信号及び右チャンネル信号に対して時間領域前処理を実行することは、現在のフレームの前処理された左チャンネル信号及び前処理された右チャンネル信号を取得するために、現在のフレームの左チャンネル信号及び右チャンネル信号に対して高域フィルタリング処理を実行し、現在のフレームの前処理された左チャンネル信号はx
L_HP(n)として記され、現在のフレームの処理された右チャンネル信号はx
R_HP(n)として記され、nはサンプリング点シーケンス番号であり、n=0,1,...,N-1であることを具体的に含む。高域フィルタリング処理は、カットオフ周波数20Hzを有する無限インパルス応答(Infinite Impulse Response, IIR)フィルタでもよく、或いは、他のタイプのフィルタにより実行されてもよい。例えば、サンプリングレート16KHz及び対応するカットオフ周波数20Hzを有する高域フィルタの伝達関数は以下の通りであり、
b
0=0.994461788958195であり、b
1=-1.988923577916390であり、b
2=0.994461788958195であり、a
1=1.988892905899653であり、a
2=-0.988954249933127であり、zはZ変換の変換ファクタである。対応して、時間領域フィルタリングの後に取得される信号は、
である。
現在のフレームの左チャンネル信号及び右チャンネル信号に対する時間領域前処理は必須ではない点に留意すべきである。時間領域前処理ステップが存在しない場合、遅延推定及び遅延アライメント処理に使用される左チャンネル信号及び右チャンネル信号が、元のステレオ信号における左チャンネル信号及び右チャンネル信号である。ここで、元のステレオ信号における左チャンネル信号及び右チャンネル信号は、アナログ・デジタル(Analog to Digital, A/D)変換の後に取得される、収集されたパルス符号変調(Pulse Code Modulation, PCM)信号である。さらに、この出願のこの実施形態では、信号のサンプリングレートは、さらに、8KHz、16KHz、32KHz、44.1KHz、48KHz等でもよい。これは、この出願のこの実施形態では限定されない。
現在のフレームの前処理された左チャンネル信号は、
として記され、現在のフレームの前処理された右チャンネル信号は、
として記され、nはサンプリング点シーケンス番号であり、n=0,1,...,N-1である。
さらに、前処理は、この出願のこの実施形態に記載の高域フィルタリング処理に加えて、プリエンファシス処理のような他の処理方式でもよい。これは、この出願のこの実施形態では限定されない。
ステップ2:現在のフレームのチャンネル間時間差を取得するために、現在のフレームの前処理された左チャンネル信号及び前処理された右チャンネル信号に基づいて遅延推定を実行する。
例えば、左チャンネルと右チャンネルとの間の相互相関係数は、現在のフレームの前処理された左チャンネル信号及び前処理された右チャンネル信号に基づいて計算されてもよい。次いで、交差相関係数の最大値が決定され、現在のフレームのチャンネル間時間差は、交差相関係数の最大値に基づいて決定される。
具体的には、Tmaxは現在のサンプリングレートにおけるチャンネル間時間差の最大値に対応し、Tminは現在のサンプリングレートにおけるチャンネル間時間差の最小値に対応する。Tmax及びTminはプリセット実数であり、TmaxはTminよりも大きい。この出願のこの実施形態では、サンプリングレートが16KHzであるとき、Tmax=40であり、Tmin=-40である。サンプリングレートが32KHzであるとき、Tmax=80であり、Tmin=-80である。他のサンプリングレートの場合、Tmax及びTminの値は更に記載されない。
左チャンネルと右チャンネルとの間の相互相関係数は、以下の方式で計算されてもよい。
T
minが0以下であり、T
maxが0よりも大きい場合、T
min≦i≦0の範囲内で、左チャンネルと右チャンネルとの間の相互相関係数は以下の式を満たす。
0<i≦T
maxの範囲内で、左チャンネルと右チャンネルとの間の相互相関係数は以下の式を満たし、
Nはフレーム長であり、
は現在のフレームの前処理された左チャンネル信号であり、
は現在のフレームの前処理された右チャンネル信号であり、c(i)は左チャンネルと右チャンネルとの間の相互相関係数であり、iは相互相関係数のインデックス値である。
T
minが0以下であり、T
maxが0以下である場合、T
min≦i≦T
maxの範囲内で、左チャンネルと右チャンネルとの間の相互相関係数は以下の式を満たし、
Nはフレーム長であり、
は現在のフレームの前処理された左チャンネル信号であり、
は現在のフレームの前処理された右チャンネル信号であり、c(i)は左チャンネルと右チャンネルとの間の相互相関係数であり、iは相互相関係数のインデックス値である。
設定されたT
minが0よりも大きく、設定されたT
maxが0よりも大きい場合、T
min<i≦T
maxの範囲内で、左チャンネルと右チャンネルとの間の相互相関係数は以下の式を満たし、
Nはフレーム長であり、
は現在のフレームの前処理された左チャンネル信号であり、
は現在のフレームの前処理された右チャンネル信号であり、c(i)は左チャンネルと右チャンネルとの間の相互相関係数であり、iは相互相関係数のインデックス値である。
最後に、相互相関係数の取得された最大値に対応するインデックス値が、現在のフレームのチャンネル間時間差として使用される。
上記の説明を参照して、この出願のこの実施形態では、Tmaxが40に等しく、Tminが-40に等しいとき、左チャンネルと右チャンネルとの間の相互相関係数c(i)の最大値がTmin≦i≦Tmaxの範囲内で検索され、相互相関係数の取得された最大値に対応するインデックス値が、現在のフレームのチャンネル間時間差として使用され、これはcur_itdとして記される。
現在のフレームのチャンネル間時間差が推定された後に、量子化及び符号化が、現在のフレームの推定されたチャンネル間時間差に対して実行され、量子化されたコードインデックスがコードストリームに書き込まれ、コードストリームがデコーダ側に送信される。任意選択で、量子化されて符号化された値が、現在のフレームのチャンネル間時間差として使用される。
上記の遅延推定方法に加えて、現在のフレームのチャンネル間時間差は、代替として、他の遅延推定方法に従って決定されてもよい。例えば、左チャンネルと右チャンネルとの間の相互相関係数は、現在のフレームの前処理された左チャンネル信号及び前処理された右チャンネル信号又は現在のフレームの左チャンネル信号及び右チャンネル信号に基づいて計算される。次いで、左チャンネルと右チャンネルとの間の平滑化された相互相関係数を取得するために、長期の平滑化処理が、第1のM1個のオーディオフレーム(M1は1以上の整数である)の左チャンネルと右チャンネルとの間の相互相関係数と、現在のフレームの左チャンネルと右チャンネルとの間の計算された相互相関係数とに基づいて実行される。次いで、左チャンネルと右チャンネルとの間の平滑化された相互相関係数の最大値が、Tmin≦i≦Tmaxの範囲内で検索され、最大値に対応するインデックス値が取得され、現在のフレームのチャンネル間時間差として使用される。他の例では、フレーム間平滑化処理は、代替として、第1のM2個のオーディオフレーム(M2は1以上の整数である)のチャンネル間時間差と、現在のフレームの推定されたチャンネル間時間差とに基づいて実行されてもよく、平滑化されたチャンネル間時間差が、現在のフレームのチャンネル間時間差として使用される。
この出願のこの実施形態では、現在のフレームの推定されたチャンネル間時間差は、現在のフレームの最終的に決定されたチャンネル間時間差として使用されるが、現在のフレームのチャンネル間時間差を推定するための方法は、上記の方法を含むが、これに限定されない点に留意すべきである。
ステップ102において、符号は、正符号(+)又は負符号(-)を示してもよい。この出願のこの実施形態では、前のフレームは、現在のフレームの前に位置し、現在のフレームに隣接する。
現在のフレームのチャンネル間時間差の符号が、前のフレームのチャンネル間時間差の符号と異なると決定されたとき、遅延アライメント処理は、現在のフレームの第1のチャンネル信号及び第2のチャンネル信号に対して別々に実行されてもよい。説明を容易にするために、以下では、現在のフレームの第1のチャンネル信号に対応するチャンネルは第1のチャンネルと呼ばれ、現在のフレームの第2のチャンネル信号に対応するチャンネルは第2のチャンネルと呼ばれる。第1のチャンネルは、現在のフレームのターゲットチャンネルであり、さらに、次のフレームのターゲットチャンネルと呼ばれてもよく、或いは、現在のフレームの指示ターゲットチャンネルと呼ばれてもよく、或いは、現在のフレームの前のフレームのターゲットチャンネル以外の他のチャンネルと呼ばれてもよい点に留意すべきである。対応して、第2のチャンネルは、現在のフレームの基準チャンネルであり、第2のチャンネルは、ステレオ信号の2つのチャンネル内にあり且つ前のフレームのターゲットチャンネルと同じであるチャンネルであり、さらに、前のフレームのターゲットチャンネルと呼ばれてもよく、或いは、現在のフレームの指示基準チャンネルと呼ばれてもよく、或いは、現在のフレームのターゲットチャンネル以外のチャンネルと呼ばれてもよい。例えば、前のフレームのターゲットチャンネルが左チャンネルである場合、第1のチャンネル信号は現在のフレーム内の右チャンネル信号であり、第2のチャンネル信号は現在のフレーム内の左チャンネル信号である。前のフレームのターゲットチャンネルが右チャンネルである場合、第1のチャンネル信号は現在のフレーム内の左チャンネル信号であり、第2のチャンネル信号は現在のフレーム内の右チャンネル信号である。
この出願のこの実施形態では、ターゲットチャンネル及び基準チャンネルは専門用語である。具体的には、チャンネル間時間差に基づいて遅延アライメントを実行するための既存のアルゴリズムでは、一方のチャンネルが左チャンネル及び右チャンネルから選択される必要があり、遅延アライメント処理は、選択されたチャンネルの信号に対して実行される。このチャンネルはターゲットチャンネルと呼ばれる。他方のチャンネルは、ターゲットチャンネルに対して遅延アライメント処理を実行するための基準として使用され、基準チャンネルと呼ばれる。この出願のこの実施形態で提案される方法では、現在のフレームのチャンネル間時間差の符号が、前のフレームのチャンネル間時間差の符号と異なると決定されたとき、遅延アライメント処理が双方のチャンネルに対して実行される必要がある。したがって、現在のフレームのチャンネル間時間差の符号が、前のフレームのチャンネル間時間差の符号と異なると決定されたとき、第1のチャンネルは、広義の現在のフレームのターゲットチャンネルであり、遅延アライメント処理が、現在のフレームのターゲットチャンネルに対して実行される必要があり、第2のチャンネルは、広義の現在のフレームの基準チャンネルであり、遅延アライメント処理がまた、現在のフレームの基準チャンネルに対して実行される必要がある。
任意選択で、この出願のこの実施形態では、前のフレームのターゲットチャンネル及び基準チャンネルは、第1のチャンネル及び第2のチャンネルを決定するために、以下の方式で決定されてもよい。前のフレームのチャンネル間時間差が0未満である場合、前のフレームのターゲットチャンネルが左チャンネルであると考えられてもよい。第2のチャンネルは、ステレオ信号の2つのチャンネル内の、前のフレームのターゲットチャンネルと同じチャンネルであるので、第2のチャンネルは左チャンネルであり、第1のチャンネルは右チャンネルである。前のフレームのチャンネル間時間差が0以上である場合、前のフレームのターゲットチャンネルが右チャンネルであると考えられてもよい。第2のチャンネルは、ステレオ信号の2つのチャンネル内の、前のフレームのターゲットチャンネルと同じチャンネルであるので、第2のチャンネルは右チャンネルであり、第1のチャンネルは左チャンネルである。
任意選択で、この出願のこの実施形態では、現在のフレームのターゲットチャンネル及び基準チャンネルは、代替として、第1のチャンネル及び第2のチャンネルを決定するために、以下の方式で決定されてもよい。現在のフレームのチャンネル間時間差が0以上であると決定されたとき、現在のフレームのターゲットチャンネルが右チャンネルであり、すなわち、第1のチャンネルが右チャンネルであり、第2のチャンネルが左チャンネルであると考えられてもよい。現在のフレームのチャンネル間時間差が0未満であると決定されたとき、現在のフレームのターゲットチャンネルが左チャンネルであり、すなわち、第1のチャンネルが左チャンネルであり、第2のチャンネルが右チャンネルであると考えられてもよい。
任意選択で、この出願のこの実施形態では、前のフレームのターゲットチャンネル及び基準チャンネルは、第1のチャンネル及び第2のチャンネルを決定するために、前のフレームの取得されたターゲットチャンネルインデックス又は基準チャンネルインデックスに基づいて直接決定されてもよい。
この出願のこの実施形態では、第1のチャンネル信号及び第2のチャンネル信号に対して遅延アライメント処理を実行するための複数の方法が存在し、これらは以下に別々に記載される。
1.現在のフレームのチャンネル間時間差に基づいて現在のフレームの第1のチャンネル信号に対して遅延アライメント処理を実行する。
具体的には、現在のフレームの第1のチャンネル信号内の第1の処理長の信号は、遅延アライメント処理の後の現在のフレームの第1のチャンネル信号を取得するために、第1のアライメント処理長の信号に圧縮される。第1の処理長は、現在のフレームのチャンネル間時間差及び第1のアライメント処理長に基づいて決定され、第1の処理長は、第1のアライメント処理長よりも大きい。
この出願のこの実施形態では、第1の処理長は、現在のフレームのチャンネル間時間差の絶対値と第1のアライメント処理長との和でもよい。
この出願のこの実施形態では、第1のアライメント処理長は、L_next_targetにより表されてもよい。第1のアライメント処理長は、現在のフレームのフレーム長以下であり、第1のアライメント処理長は、プリセット長でもよく、或いは、他の方式で決定されてもよい。第1のアライメント処理長がプリセット長であるとき、第1のアライメント処理長は、L、L/2、L/3、又はL以下のいずれかの長さでもよく、Lは遅延アライメント処理の処理長である。遅延アライメント処理の処理長は、現在のフレームのフレーム長以下であり、すなわち、Lは、現在のサンプリングレートにおいて対応するフレーム長N以下であり且つチャンネル間時間差の絶対値の最大値よりも大きいいずれかのプリセット正整数である。例えば、L=290又はL=200である。この出願のこの実施形態では、Lは、異なるサンプリングレートについて異なる値に設定されてもよく、或いは、一様な値でもよい。一般的に、値は、当業者の経験に基づいて予め設定されてもよい。例えば、サンプリングレートが16KHzであるとき、Lは290に設定される。この場合、この出願のこの実施形態では、L_next_target=L/2=145である。
さらに、この出願のこの実施形態では、第1の処理長の信号の開始点は、第1のアライメント処理長の信号の開始点の前に位置し、第1の処理長の信号の開始点と第1のアライメント処理長の信号の開始点との間の長さは、現在のフレームのチャンネル間時間差の絶対値である。
この出願のこの実施形態では、現在のフレームのチャンネル間時間差はcur_itdであり、abs(cur_itd)は現在のフレームのチャンネル間時間差の絶対値を表す。説明を容易にするために、abs(cur_itd)は、以下の説明では第1の遅延長と呼ばれる。前のフレームのチャンネル間時間差はprev_itdであり、abs(prev_itd)は前のフレームのチャンネル間時間差の絶対値を表す。説明を容易にするために、abs(prev_itd)は、以下の説明では第2の遅延長と呼ばれる。
第1の処理長の信号の具体的な位置は、異なる実際の条件に基づいて決定されてもよく、これらは、以下に別々に記載される。
第1の可能な場合:
図2は、この出願の実施形態による遅延アライメント処理の概略図である。図2において、説明を容易にするために、遅延アライメント処理の前の第1のチャンネル信号内の点と、同じ位置にある圧縮処理の後の第1のチャンネル信号内の点とは、同じ座標を使用することにより記されるが、これは、同じ座標を有する点の信号が同じであることを意味するのではない。例えば、現在のフレームの第1のチャンネル信号の開始点の双方の座標は、遅延アライメント処理の前及び圧縮処理の後にB1として記される。
図2を参照すると、第1のアライメント処理長の信号の開始点は、現在のフレームの第1のチャンネル信号の開始点B1に位置する。第1のアライメント処理長の信号の終了点はC1であり、開始点B1から終了点C1までの長さは、第1のアライメント処理長に等しく、B1=0であり、C1=B1+L_next_target-1である。
第1の処理長の信号の開始点A1は、第1のアライメント処理長の信号の開始点B1の前に位置し、第1の処理長の信号の開始点A1と第1のアライメント処理長の信号の開始点B1との間の長さは、現在のフレームのチャンネル間時間差の絶対値である。すなわち、A1=B1-abs(cur_itd)である。第1の処理長の信号の終了点はC1であり、これは、第1のアライメント処理長の信号の終了点の座標と同じである。
遅延アライメント処理のプロセスにおいて、第1のチャンネル信号内の点A1から点C1までの信号は、第1のアライメント処理長の信号に圧縮され、第1のアライメント処理長の圧縮信号は、圧縮処理の後の第1のチャンネル信号内の開始点B1から始まる第1のアライメント処理長の信号として使用される。さらに、現在のフレームの第1のチャンネル信号内の非圧縮信号は不変のままであり、すなわち、遅延アライメント処理の前の第1のチャンネル信号内の点C1+1から点E1までの信号は、圧縮処理の後の第1のチャンネル信号内の点C1+1から点E1までの信号として直接使用される。E1は現在のフレームの第1のチャンネル信号の終了点であり、現在のフレームのフレーム長はNであり、E1=N-1である。
この出願のこの実施形態では、第1の遅延長の信号は、現在のフレームの第2のチャンネル信号内の点E2-abs(cur_itd)+1から点E2までの信号に基づいて手動で再構成されてもよく、第1の遅延長の再構成された信号は、圧縮処理の後の第1のチャンネル信号内の点E1+1から点G1までの信号として使用され、E2は現在のフレームの第2のチャンネル信号の終了点であり、E2=E1であり、G1=E1+abs(cur_itd)である。
どのように第1の遅延長の信号を具体的に再構成するかは、この出願のこの実施形態では限定されない点に留意すべきである。例えば、現在のフレームの第2のチャンネル信号内の点E1-abs(cur_itd)+1から点E1までの信号が、第1の遅延長の再構成された信号として直接使用されてもよい。
最後に、圧縮処理の後の第1のチャンネル信号内で、点F1から始まるN個のサンプリング点が、遅延アライメント処理の後の現在のフレームの第1のチャンネル信号として使用される。すなわち、遅延アライメント処理の後の現在のフレームの第1のチャンネル信号の開始点は点F1であり、終了点G1である。点F1は、現在のフレームの第1のチャンネル信号の開始点の後に位置し、点F1と現在のフレームの第1のチャンネル信号の開始点との間の長さは、第1の遅延長である。点G1は、現在のフレームの第1のチャンネル信号の終了点の後に位置し、点G1と現在のフレームの第1のチャンネル信号の終了点との間の長さは、第1の遅延長である。すなわち、F1=B1+abs(cur_itd)である。
例えば、図2を参照すると、現在のフレームの第1のチャンネルが左チャンネルであり、第2のチャンネルが右チャンネルである場合、左チャンネル上の点A1から点C1までの信号は、第1のアライメント処理長の信号に圧縮され、第1のアライメント処理長の圧縮信号は、圧縮処理の後の左チャンネル信号内の第1のアライメント処理長の信号(すなわち、圧縮処理の後の左チャンネル信号内の点B1から点C1までの信号)として使用される。次いで、圧縮処理の前の左チャンネル信号内の点C1+1から点E1までの信号は、圧縮処理の後の現在のフレームの左チャンネル信号内の点C1+1から点E1までの信号として直接使用される。次いで、第1の遅延長の信号は、現在のフレームの右チャンネル信号内の終了点の前の第1の遅延長の信号(すなわち、現在のフレームの右チャンネル信号内の点E1-abs(cur_itd)+1から点E1までの信号)に基づいて再構成され、第1の遅延長の再構成された信号は、圧縮処理の後の左チャンネル信号内の終了点の後の第1の遅延長の信号(すなわち、圧縮処理の後の左チャンネル信号内の点E1+1から点G1までの信号)として使用される。最後に、圧縮処理の後に取得された信号内の点F1から点G1までの信号は、遅延アライメント処理の後の現在のフレームの左チャンネル信号として使用される。
現在のフレームの第1のチャンネルが右チャンネルであり、第2のチャンネルが左チャンネルであるときは、上記の説明を参照する。詳細はここでは説明しない。
第2の可能な場合:
図3は、この出願の実施形態によるステレオ信号処理の概略図である。図3において、説明を容易にするために、遅延アライメント処理の前の第1のチャンネル信号内の点と、同じ位置にある圧縮処理の後の第1のチャンネル信号内の点とは、同じ座標を使用することにより記されるが、これは、同じ座標を有する点の信号が同じであることを意味するのではない。例えば、現在のフレームの第1のチャンネル信号の開始点の双方の座標は、遅延アライメント処理の前及び圧縮処理の後にB1として記される。
図3を参照すると、第1のアライメント処理長の信号の開始点D1は、現在のフレームの第1のチャンネル信号の開始点B1の後に位置し、第1のアライメント処理長の信号の開始点D1と現在のフレームの第1のチャンネル信号の終了点E1との間の長さは、第1のアライメント処理長以上である。第1のアライメント処理長の信号の終了点はC1であり、開始点D1から終了点C1までの長さは、第1のアライメント処理長に等しく、C1=D1+L_next_target-1である。
図3において、現在のフレームのフレーム長はNであり、現在のフレームの第1のチャンネル信号の開始点はB1=0であり、現在のフレームの第1のチャンネル信号の終了点はE1=N-1である。第1のアライメント処理長の開始点D1は、現在のフレームの第1のチャンネル信号の開始点B1の後に位置し、第1のアライメント処理長の信号の開始点D1と現在のフレームの第1のチャンネル信号の終了点E1との間の長さは、第1のアライメント処理長以上である。説明を容易にするために、第1のアライメント処理長の信号の開始点D1と第1のチャンネル信号の開始点B1との間の長さは、以下では第1のプリセット長と呼ばれる。第1のプリセット長は、0よりも大きく、現在のフレームのフレーム長と第1のアライメント処理長との間の差分値以下であり、実際の状況に基づいて具体的に設定されてもよい。詳細はここでは説明しない。
第1の処理長の信号の開始点A1は、第1のアライメント処理長の信号の開始点D1の前に位置し、第1の処理長の信号の開始点A1と第1のアライメント処理長の信号の開始点D1との間の長さは、現在のフレームのチャンネル間時間差の絶対値である。すなわち、第1の処理長の信号の開始点はA1=D1-abs(cur_itd)であり、第1の処理長の信号の終了点はC1であり、これは、第1のアライメント処理長の信号の終了点の座標と同じである。
この出願のこの実施形態では、遅延アライメント処理のプロセスにおいて、信号圧縮中に、第1のチャンネル信号内にあり且つ第1の処理長の信号の開始点の前に位置する第1のプリセット長の信号は、圧縮処理の後の第1のチャンネル信号の開始点から始まる第1のプリセット長の信号として直接使用されてもよい。すなわち、第1のチャンネル信号内の点H1から点A1-1までの信号は、圧縮された第1のチャンネル信号内の点B1から点D1-1までの信号として使用され、H1=B1-abs(cur_itd)である。
信号圧縮プロセスにおいて、第1のチャンネル信号内の点A1から点C1までの信号は、第1のアライメント処理長の信号に圧縮され、第1のアライメント処理長の圧縮信号は、圧縮処理の後の第1のチャンネル信号内の点D1から始まる第1のアライメント処理長の信号として使用される。すなわち、第1のアライメント処理長の圧縮信号は、圧縮処理の後の第1のチャンネル信号内の点D1から点C1までの信号として直接使用される。
さらに、現在のフレームの第1のチャンネル信号内の非圧縮信号は不変のままであり、すなわち、遅延アライメント処理の前の現在のフレームの第1のチャンネル信号内の点C1+1から点E1までの信号は、圧縮処理の後の第1のチャンネル信号内の点C1+1から点E1までの信号として直接使用される。E1は現在のフレームの第1のチャンネル信号の終了点であり、現在のフレームのフレーム長はNであり、E1=N-1である。
この出願のこの実施形態では、第1の遅延長の信号は、現在のフレームの第2のチャンネル信号内の点E2-abs(cur_itd)+1から点E2までの信号に基づいて手動で再構成されてもよく、第1の遅延長の再構成された信号は、圧縮処理の後の第1のチャンネル信号内の点E1+1から点G1までの信号として使用され、E2は現在のフレームの第2のチャンネル信号の終了点であり、E2=E1であり、G1=E1+abs(cur_itd)である。
どのように第1の遅延長の信号を具体的に再構成するかは、この出願のこの実施形態では限定されない点に留意すべきである。例えば、現在のフレームの第2のチャンネル信号内の点E2-abs(cur_itd)+1から点E2までの信号が、第1の遅延長の再構成された信号として直接使用されてもよい。
最後に、圧縮処理の後の第1のチャンネル信号内で、点F1から始まるN個のサンプリング点が、遅延アライメント処理の後の現在のフレームの第1のチャンネル信号として使用される。すなわち、遅延アライメント処理の後の現在のフレームの第1のチャンネル信号の開始点は点F1であり、終了点G1であり、F1=B1+abs(cur_itd)であり、G1=E1+abs(cur_itd)である。
例えば、図3を参照すると、現在のフレームの第1のチャンネルは左チャンネルであり、第2のチャンネルは右チャンネルである。左チャンネル信号内の点H1から点A1-1までの信号は、圧縮処理の後の左チャンネル信号内の点B1から点D1-1までの信号として直接使用される。左チャンネル信号内の点A1から点C1までの信号は、第1のアライメント処理長の信号に圧縮され、第1のアライメント処理長の圧縮信号は、圧縮処理の後の左チャンネル信号内の点D1から点C1までの信号として使用される。次いで、現在のフレームの左チャンネル信号内の点C1+1から点E1までの信号は、圧縮処理の後の左チャンネル信号内の点C1+1から点E1までの信号として直接使用される。次いで、第1の遅延長の信号は、現在のフレームの右チャンネル信号内の点E2-abs(cur_itd)+1から点E2までの信号に基づいて手動で再構成され、第1の遅延長の再構成された信号は、圧縮処理の後の左チャンネル信号内の点E1+1から点G1までの信号として使用される。最後に、圧縮処理の後に取得された信号内の点F1から点G1までの信号は、遅延アライメント処理の後の現在のフレームの左チャンネル信号として使用される。
現在のフレームの第1のチャンネルが右チャンネルであり、第2のチャンネルが左チャンネルであるときは、上記の説明を参照する。詳細はここでは説明しない。
第3の可能な場合:
図4は、この出願の実施形態によるステレオ信号処理の概略図である。図4において、説明を容易にするために、遅延アライメント処理の前の第1のチャンネル信号内の点と、同じ位置にある圧縮処理の後の第1のチャンネル信号内の点とは、同じ座標を使用することにより記されるが、これは、同じ座標を有する点の信号が同じであることを意味するのではない。例えば、現在のフレームの第1のチャンネル信号の終了点の双方の座標は、遅延アライメント処理の前及び圧縮処理の後にE1として記される。
図4において、現在のフレームのフレーム長はNであり、現在のフレームの第1のチャンネル信号の開始点はB1=0であり、現在のフレームの第1のチャンネル信号の終了点はE1=N-1である。第1のアライメント処理長の開始点D1は、現在のフレームの第1のチャンネル信号の開始点B1の前に位置し、第1のアライメント処理長の信号の開始点D1と現在のフレームの第1のチャンネル信号の開始点B1との間の長さは、遷移区間長以下であり、第1のアライメント処理長の信号の開始点D1と現在のフレームの第1のチャンネル信号の終了点E1との間の長さは、第1のアライメント処理長と遷移区間長との和以上である。説明を容易にするために、この出願のこの実施形態及び図4において、遷移区間長は、tsにより表される。この場合、D1=B1-tsである。第1のアライメント処理長の信号の終了点はC1であり、開始点D1から終了点C1までの長さは、第1のアライメント処理長に等しく、C1=D1+L_next_target-1である。
この出願のこの実施形態では、遷移区間長は、プリセット正整数でもよく、プリセット正整数は、当業者による経験に基づいて設定されてもよい。遷移区間長は、通常では、現在のフレームのチャンネル間時間差の絶対値の最大値以下である。遷移区間長は、代替として、現在のフレームのチャンネル間時間差に基づいて計算されてもよい。例えば、遷移区間長はabs(cur_itd)/2である。
第1の処理長の信号の開始点A1は、第1のアライメント処理長の信号の開始点D1の前に位置し、第1の処理長の信号の開始点A1と第1のアライメント処理長の信号の開始点D1との間の長さは、現在のフレームのチャンネル間時間差の絶対値である。すなわち、第1の処理長の信号の開始点はA1=D1-abs(cur_itd)であり、第1の処理長の信号の終了点はC1であり、これは、第1のアライメント処理長の信号の終了点の座標と同じである。
図4において、第1のアライメント処理長の信号の開始点D1と、現在のフレームの第1のチャンネル信号の開始点B1との間の長さが遷移区間長に等しいことが、説明のための例として使用される点に留意すべきである。第1のアライメント処理長の信号の開始点D1と現在のフレームの第1のチャンネル信号の開始点B1との間の長さは、代替として、遷移区間長未満でもよく、D1<B1であり、D1>B1である。遷移区間長未満である場合については、ここでの説明を参照する。詳細は更に説明しない。
遅延アライメント処理のプロセスにおいて、第1のチャンネル信号内の点A1から点C1までの信号は、第1のアライメント処理長の信号に圧縮され、第1のアライメント処理長の圧縮信号は、圧縮処理の後の第1のチャンネル信号内の点D1から始まる第1のアライメント処理長の信号として使用される。すなわち、第1のアライメント処理長の圧縮信号は、圧縮処理の後の第1のチャンネル信号内の点D1から点C1までの信号として使用される。
さらに、現在のフレームの第1のチャンネル信号内の非圧縮信号は不変のままであり、すなわち、遅延アライメント処理の前の現在のフレームの第1のチャンネル信号内の点C1+1から点E1までの信号は、圧縮処理の後の第1のチャンネル信号内の点C1+1から点E1までの信号として直接使用される。E1は現在のフレームの第1のチャンネル信号の終了点であり、現在のフレームのフレーム長はNであり、E1=N-1である。
この出願のこの実施形態では、第1の遅延長の信号は、現在のフレームの第2のチャンネル信号内の点E2-abs(cur_itd)+1から点E2までの信号に基づいて手動で再構成されてもよく、第1の遅延長の再構成された信号は、圧縮処理の後の第1のチャンネル信号内の点E1+1から点G1までの信号として使用され、E2は現在のフレームの第2のチャンネル信号の終了点であり、E2=E1であり、G1=E1+abs(cur_itd)である。
どのように第1の遅延長の信号を具体的に再構成するかは、この出願のこの実施形態では限定されない点に留意すべきである。
最後に、圧縮処理の後の第1のチャンネル信号内で、点F1から始まるN個のサンプリング点が、遅延アライメント処理の後の現在のフレームの第1のチャンネル信号として使用される。すなわち、遅延アライメント処理の後の現在のフレームの第1のチャンネル信号の開始点は点F1であり、終了点G1であり、F1=B1+abs(cur_itd)である。
例えば、図4を参照すると、現在のフレームの第1のチャンネルは左チャンネルであり、第2のチャンネルは右チャンネルである。左チャンネル信号内の点A1から点C1までの信号は、第1のアライメント処理長の信号に圧縮され、第1のアライメント処理長の圧縮信号は、圧縮処理の後の左チャンネル信号内の点D1から点C1までの信号として使用される。次いで、現在のフレームの左チャンネル信号内の点C1+1から点E1までの信号は、圧縮処理の後の左チャンネル信号内の点C1+1から点E1までの信号として直接使用される。次いで、第1の遅延長の信号は、現在のフレームの右チャンネル信号内の点E2-abs(cur_itd)+1から点E2までの信号に基づいて手動で再構成され、第1の遅延長の再構成された信号は、圧縮処理の後の左チャンネル信号内の点E1+1から点G1までの信号として使用される。E2は現在のフレームの右チャンネル信号の終了点である。最後に、圧縮処理の後に取得された信号内の点F1から点G1までの信号は、遅延アライメント処理の後の現在のフレームの左チャンネル信号として使用される。
現在のフレームの第1のチャンネルが右チャンネルであり、第2のチャンネルが左チャンネルであるときは、上記の説明を参照する。詳細はここでは説明しない。
任意選択で、実際の信号と手動で再構成された信号との間に平滑化を追加するために、平滑化遷移区間が更に設定されてもよく、平滑化遷移区間の長さはTs2である。平滑化遷移区間の長さは、プリセット正整数に設定されてもよく、平滑化遷移区間の長さと遷移区間長との間の差は、フレーム長と第1のアライメント処理長との間の差以下である。例えば、Ts2は10に設定される。
この場合、遅延アライメント処理のプロセスにおいて、第1のチャンネル信号内の点A1から点C1までの信号は、第1のアライメント処理長の信号に圧縮され、第1のアライメント処理長の圧縮信号は、圧縮処理の後の第1のチャンネル信号内の点D1から始まる第1のアライメント処理長の信号として使用される。すなわち、第1のアライメント処理長の圧縮信号は、圧縮処理の後の第1のチャンネル信号内の点D1から点C1までの信号として使用される。
さらに、遅延アライメント処理の前の現在のフレームの第1のチャンネル信号内の点C1+1から点E1-Ts2までの信号は、圧縮処理の後の第1のチャンネル信号内の点C1+1から点E1-Ts2までの信号として直接使用される。E1は現在のフレームの第1のチャンネル信号の終了点であり、現在のフレームのフレーム長はNであり、E1=N-1である。平滑化遷移区間の長さの信号は、現在のフレームの第2のチャンネル信号内の点E2-abs(cur_itd)-Ts2+1から点E2-abs(cur_itd)までの信号に基づいて手動で再構成され、平滑化遷移区間の長さの再構成された信号は、圧縮処理の後の第1のチャンネル信号の点E1-Ts2+1から点E1までの信号として使用される。
この出願のこの実施形態では、第1の遅延長の信号は、現在のフレームの第2のチャンネル信号内の点E2-abs(cur_itd)+1から点E2までの信号に基づいて手動で再構成されてもよく、第1の遅延長の再構成された信号は、圧縮処理の後の第1のチャンネル信号内の点E1+1から点G1までの信号として使用され、E2は現在のフレームの第2のチャンネル信号の終了点であり、E2=E1であり、G1=E1+abs(cur_itd)である。
どのように第1の遅延長の信号及び平滑化遷移区間の長さの信号を具体的に再構成するかは、この出願のこの実施形態では限定されない点に留意すべきである。
第2の可能な場合では、遷移区間長はまた、設定されてもよい点に留意すべきである。遷移区間長を設定するための具体的な方法及びステップ、並びに遷移区間長が設定された後の現在のフレームの第1のチャンネル信号に対して遅延アライメント処理を実行するプロセスについては、上記の説明を参照する。詳細はここでは説明しない。第2の可能な場合では、遷移区間長及び平滑化遷移区間の長さが更に設定されてもよい。遷移区間長及び平滑化遷移区間の長さを設定するための具体的な方法及びステップ、並びに遷移区間長及び平滑化遷移区間の長さが設定された後の現在のフレームの第1のチャンネル信号に対して遅延アライメント処理を実行するプロセスについては、上記の説明を参照する。
上記の方法では、フレームの間の平滑化は、遷移区間長を加算するか、或いは遷移区間長と平滑化遷移区間の長さとを加算することにより追加され、遅延アライメント処理の後の現在のフレーム内の2つのチャンネル信号の間のアライメントの精度が改善され、符号化品質が改善される。
この出願のこの実施形態では、第1の処理長の信号を圧縮するための方法は、キュービック(cubic)スプライン補間方法を使用することにより信号を圧縮することでもよく、二次(quadratic)スプライン補間方法を使用することにより信号を圧縮することでもよく、リニア補間方法を使用することにより信号を圧縮することでもよく、或いは、二次Bスプライン補間方法又はキュービックBスプライン補間方法のようなBスプライン補間方法を使用することにより信号を圧縮することでもよい点に留意すべきである。具体的な圧縮方法は、この出願のこの実施形態では限定されず、圧縮は、いずれかの技術を使用することにより処理されてもよい。
2.前のフレームのチャンネル間時間差に基づいて現在のフレームの第2のチャンネル信号に対して遅延アライメント処理を実行する。
具体的には、第2のチャンネル信号内の第2の処理長の信号は、遅延アライメント処理の後の現在のフレームの第2のチャンネル信号を取得するために、第2のアライメント処理長の信号に伸張される。第2の処理長は、前のフレームのチャンネル間時間差及び第2のアライメント処理長に基づいて決定され、第2の処理長は、第2のアライメント処理長未満である。
この出願のこの実施形態では、第2の処理長は、第2のアライメント処理長と前のフレームのチャンネル間時間差の絶対値との間の差である。この出願の実施形態では、第2のアライメント処理長は、L_pre_targetにより表されてもよい。
第2のアライメント処理長は、プリセット長でもよく、或いは、他の方式で決定されてもよい。第2のアライメント処理長は、現在のフレームのフレーム長以下である。第2のアライメント処理長がプリセット長であるとき、第2のアライメント処理長は、L、L/2、L/3、又はL以下のいずれかの長さでもよい。Lは、現在のサンプリングレートにおいて対応するフレーム長N以下であり且つチャンネル間時間差の絶対値の最大値よりも大きいいずれかのプリセット正整数である。例えば、L=290又はL=200である。この出願のこの実施形態では、Lは、異なるサンプリングレートについて異なる値に設定されてもよく、或いは、一様な値でもよい。一般的に、値は、当業者の経験に基づいて予め設定されてもよい。例えば、サンプリングレートが16KHzであるとき、Lは290に設定される。この出願のこの実施形態では、L_pre_target=L/2=145である。
さらに、第2の処理長の信号の開始点は、第2のアライメント処理長の信号の開始点の後に位置し、第2の処理長の信号の開始点と第2のアライメント処理長の信号の開始点との間の長さは、前のフレームのチャンネル間時間差の絶対値である。
第2の処理長の信号の具体的な位置は、異なる実際の条件に基づいて決定されてもよく、これらは、以下に別々に記載される。
第1の可能な場合:
図5は、この出願の実施形態によるステレオ信号処理の概略図である。図5において、説明を容易にするために、遅延アライメント処理の前の第2のチャンネル信号内の点と、同じ位置にある伸張処理の後の第2のチャンネル信号内の点とは、同じ座標を使用することにより記されるが、これは、同じ座標を有する点の信号が同じであることを意味するのではない。例えば、現在のフレームの第2のチャンネル信号の開始点の双方の座標は、遅延アライメント処理の前及び伸張処理の後にB2として記される。
図5を参照すると、現在のフレームのフレーム長はNであり、現在のフレームの第2のチャンネル信号の開始点はB2=0であり、現在のフレームの第2のチャンネル信号の終了点はE2=N-1である。第2のアライメント処理長の開始点は、現在のフレームの第2のチャンネル信号の開始点B2に位置する。第2のアライメント処理長の信号の終了点はC2であり、開始点B2から終了点C2までの長さは、第2のアライメント処理長に等しく、C2=B2+L_pre_target-1である。
第2の処理長の信号の開始点A2は、第2のアライメント処理長の開始点B2の後に位置し、第2の処理長の信号の開始点A2と第2のアライメント処理長の開始点B2との間の長さは、前のフレームのチャンネル間時間差の絶対値である。第2の処理長の信号の開始点は、A2=B2+abs(prev_itd)であり、第2の処理長の信号の終了点はC2であり、これは、第2のアライメント処理長の信号の終了点の座標と同じである。
遅延アライメント処理のプロセスにおいて、第2のチャンネル信号内の点A2から点C2までの信号は、第2のアライメント処理長の信号に伸張され、第2のアライメント処理長の伸張信号は、伸張処理の後の第2のチャンネル信号内の点B2から始まる第2のアライメント処理長の信号として使用される。すなわち、第2のアライメント処理長の伸張信号は、伸張処理の後の第2のチャンネル信号内の開始点B2から点C2までの信号として使用される。
この出願のこの実施形態では、信号伸張中に、現在のフレームの第2のチャンネル信号の非伸張信号は不変のままでもよく、すなわち、現在のフレームの第2のチャンネル信号内の点C2+1から点E2までの信号は、伸張処理の後の第2のチャンネル信号内の点C2+1から点E2までの信号として直接使用される。E2は現在のフレームの第2のチャンネル信号の終了点であり、現在のフレームのフレーム長はNであり、E2=N-1である。
最後に、伸張処理の後の第2のチャンネル信号内で、開始点B2から始まるN個のサンプリング点が、遅延アライメント処理の後の現在のフレームの第2のチャンネル信号として使用される。すなわち、遅延アライメント処理の後の現在のフレームの第2のチャンネル信号の開始点は点B2であり、終了点はE2である。
例えば、図5を参照すると、現在のフレームの第1のチャンネルは左チャンネルであり、第2のチャンネルは右チャンネルである。現在のフレームの右チャンネル信号内の点A2から点C2までの信号は、第2のアライメント処理長の信号に伸張され、第2のアライメント処理長の伸張信号は、伸張処理の後の右チャンネル信号内の点B2から点C2までの信号として使用される。次いで、現在のフレームの右チャンネル信号内の点C2+1から点E2までの信号は、伸張処理の後の右チャンネル信号内の点C2+1から点E2までの信号として直接使用される。最後に、延長処理の後に取得された信号内の点B2から点E2までの信号は、遅延アライメント処理の後の現在のフレームの右チャンネル信号として使用される。
現在のフレームの第1のチャンネルが右チャンネルであり、第2のチャンネルが左チャンネルであるときは、上記の説明を参照する。詳細はここでは説明しない。
第2の可能な場合:
図6は、この出願の実施形態によるステレオ信号処理の概略図である。図6において、説明を容易にするために、遅延アライメント処理の前の第2のチャンネル信号内の点と、同じ位置にある伸張処理の後の第2のチャンネル信号内の点とは、同じ座標を使用することにより記されるが、これは、同じ座標を有する点の信号が同じであることを意味するのではない。
図6を参照すると、現在のフレームのフレーム長はNであり、現在のフレームの第2のチャンネル信号の開始点はB2=0であり、現在のフレームの第2のチャンネル信号の終了点はE2=N-1である。第2のアライメント処理長の開始点は、現在のフレームの第2のチャンネル信号の開始点B2の後に位置し、第2のアライメント処理長の信号の開始点D2と現在のフレームの第2のチャンネル信号の終了点E2との間の長さは、第2のアライメント処理長以上である。第2のアライメント処理長の信号の終了点は、C2=D2+L_pre_target-1である。説明を容易にするために、第2のアライメント処理長の信号の開始点D2と第2のチャンネル信号の開始点B2との間の長さは、以下では第2のプリセット長と呼ばれる。第2のプリセット長は、0よりも大きく、現在のフレームのフレーム長と第2のアライメント処理長との間の差分値以下でもよく、実際の状況に基づいて具体的に設定されてもよい。詳細はここでは説明しない。
第2の処理長の信号の開始点A2は、第2のアライメント処理長の開始点B2の前に位置し、第2の処理長の信号の開始点A2と第2のアライメント処理長の開始点B2との間の長さは、前のフレームのチャンネル間時間差の絶対値である。第2の処理長の信号の開始点はA2=D2+abs(prev_itd)であり、第2の処理長の信号の終了点の座標は、第2のアライメント処理長の信号の終了点の座標と同じであり、すなわち、C2=D2+L_pre_target-1である。
遅延アライメント処理のプロセスにおいて、第2のチャンネル信号内のH2=B2+abs(prev_itd)から始まる第2のプリセット長の信号は、伸張処理の後の第2のチャンネル信号内の開始点B2から始まる第2のプリセット長の信号として直接使用される。すなわち、図6を参照すると、現在のフレームの第2のチャンネル信号内の点H2から点A2-1までの信号は、伸張処理の後の第2のチャンネル信号内の点B2から点D2-1までの信号として直接使用される。
さらに、第2のチャンネル信号内の点A2から点C2までの信号は、第2のアライメント処理長の信号に伸張され、第2のアライメント処理長の伸張信号は、伸張処理の後の第2のチャンネル信号内の点D2から始まる第2のアライメント処理長の信号として使用される。すなわち、第2のアライメント処理長の伸張信号は、伸張処理の後の第2のチャンネル信号内の点D2から点C2までの信号として使用される。
この出願のこの実施形態では、信号伸張中に、現在のフレームの第2のチャンネル信号内の非伸張信号は不変のままでもよく、すなわち、現在のフレームの第2のチャンネル信号内の点C2+1から点E2までの信号は、伸張処理の後の第2のチャンネル信号内の点C2+1から点E2までの信号として直接使用される。E2は現在のフレームの第2のチャンネル信号の終了点であり、現在のフレームのフレーム長はNであり、E2=N-1である。
最後に、伸張処理の後の第2のチャンネル信号内で、開始点B2から始まるN個のサンプリング点が、遅延アライメント処理の後の現在のフレームの第2のチャンネル信号として使用される。すなわち、遅延アライメント処理の後の現在のフレームの第2のチャンネル信号の開始点は点B2であり、終了点はE2である。
例えば、図6を参照すると、現在のフレームの第1のチャンネルは左チャンネルであり、第2のチャンネルは右チャンネルである。遅延アライメント処理のプロセスにおいて、現在のフレームの右チャンネル信号内の点H2から点A2-1までの信号は、伸張処理の後の右チャンネル信号内の点B2から点D2-1までの信号として直接使用される。現在のフレームの右チャンネル信号内の点A2から点C2までの信号は、第2のアライメント処理長の信号に伸張され、第2のアライメント処理長の伸張信号は、新行処理の後の右チャンネル信号内の点D2から点C2までの信号として使用される。次いで、現在のフレームの右チャンネル信号内の点C2+1から点E2までの信号は、伸張処理の後の右チャンネル信号内の点C2+1から点E2までの信号として直接使用される。最後に、伸張処理の後に取得された信号内の点B2から点E2までの信号は、遅延アライメント処理の後の現在のフレームの右チャンネル信号として使用される。
現在のフレームの第1のチャンネルが右チャンネルであり、第2のチャンネルが左チャンネルであるときは、上記の説明を参照する。詳細はここでは説明しない。
この出願のこの実施形態では、第2の処理長の信号を伸張するための方法は、キュービック(cubic)スプライン補間方法を使用することにより信号を伸張することでもよく、二次(quadratic)スプライン補間方法を使用することにより信号を伸張することでもよく、リニア補間方法を使用することにより信号を伸張することでもよく、或いは、二次Bスプライン補間方法又はキュービックBスプライン補間方法のようなBスプライン補間方法を使用することにより信号を伸張することでもよい点に留意すべきである。具体的な伸張方法は、この出願のこの実施形態では限定されず、伸張は、いずれかの技術を使用することにより処理されてもよい。
この出願のこの実施形態では、遅延アライメント処理が実行された後に、現在のフレームのチャンネル間時間差のコードインデックスを取得するために、現在のフレームのチャンネル間時間差は更に量子化及び符号化されてもよく、コードインデックスはコードストリームに書き込まれる。現在のフレームのチャンネル間時間差は、代替として、ステップ101において量子化及び符号化されてもよく、或いは、ここで量子化及び符号化されてもよい点に留意すべきである。これは、この出願のこの実施形態では限定されない。
具体的には、コードインデックスをコードストリームに書き込むための多くの方法が存在し得る。これは、この出願のこの実施形態では限定されない。例えば、現在のフレームのチャンネル間時間差の絶対値が量子化及び符号化された後に、現在のフレームのチャンネル間時間差の絶対値のコードインデックスがコードストリームに書き込まれ、コードストリームがデコーダ側に送信される。さらに、現在のフレームのターゲットチャンネルのインデックスがターゲットチャンネルインデックスとしてコードストリームに書き込まれるか、或いは、現在のフレームの基準チャンネルのインデックスが基準チャンネルインデックスとしてコードストリームに書き込まれ、コードストリームがデコーダ側に送信される。
遅延アライメント処理の後の現在のフレームの左チャンネル信号はx’L(n)として記され、遅延アライメント処理の後の現在のフレームの右チャンネル信号はx’R(n)として記され、nはサンプリング点シーケンス番号であり、n=0,1,...,N-1である。現在のフレームのチャンネル間時間差の符号及び前のフレームのチャンネル間時間差の符号に基づいて、遅延アライメント処理の後の第1のチャンネル信号は、遅延アライメント処理の後の現在のフレームの左チャンネル信号でもよく、x’L(n)として記され、或いは、遅延アライメント処理の後の第2のチャンネル信号は、遅延アライメント処理の後の現在のフレームの左チャンネル信号でもよく、x’L(n)として記される。同様に、遅延アライメント処理の後の第1のチャンネル信号は、遅延アライメント処理の後の現在のフレームの右チャンネル信号でもよく、x’R(n)として記され、或いは、遅延アライメント処理の後の第2のチャンネル信号は、遅延アライメント処理の後の現在のフレームの右チャンネル信号でもよく、x’R(n)として記される。
最後に、遅延アライメント処理の後の第1のチャンネル信号及び遅延アライメント処理の後の第2のチャンネル信号が符号化される。
具体的には、遅延アライメント処理の後の第1のチャンネル信号及び遅延アライメント処理の後の第2のチャンネル信号は、既存のステレオ符号化方法を使用することにより符号化されてもよく、符号化されたコードストリームは、デコーダ側に送信される。具体的な符号化方法は、この出願のこの実施形態では限定されない。
任意選択で、この出願のこの実施形態では、第1のアライメント処理長がプリセット長でないとき、以下の式が満たされてもよく、
L_next_targetは第1のアライメント処理長であり、cur_itdは現在のフレームのチャンネル間時間差であり、prev_itdは前のフレームのチャンネル間時間差であり、Lは遅延アライメント処理の処理長であり、|・|は絶対値をとることを意味する。
第2のアライメント処理長がプリセット長でないとき、以下の式が満たされてもよく、
L_pre_targetは第2のアライメント処理長であり、cur_itdは現在のフレームのチャンネル間時間差であり、prev_itdは前のフレームのチャンネル間時間差であり、Lは遅延アライメント処理の処理長である。Lは、現在のサンプリングレートにおいて対応するフレーム長N以下であり且つチャンネル間時間差の絶対値の最大値よりも大きいいずれかのプリセット正整数である。例えば、L=290又はL=200である。|・|は絶対値をとることを意味する。
任意選択で、この出願のこの実施形態では、遅延アライメント処理の処理長がプリセット長でないとき、以下の式が満たされてもよく、
Lは遅延アライメント処理の処理長であり、MAX_DELAY_CHANGEは隣接するフレームのチャンネル間時間差の間の最大差分値であり、L_initは遅延アライメント処理のプリセット処理長である。例えば、L_initは、隣接するフレームのチャンネル間時間差の間の最大差分値以上であり、現在のフレームのフレーム長以下でもよく、例えば、290又は200である。|・|は絶対値をとることを意味する。
MAX_DELAY_CHANGEは、0よりも大きい正整数であり、|Tmax-Tmin|以下でもよい。Tmaxは現在のサンプリングレートにおけるチャンネル間時間差の最大値に対応し、Tminは現在のサンプリングレートにおけるチャンネル間時間差の最小値に対応する。例えば、MAX_DELAY_CHANGEは80、40又は20に等しい。この出願の実施形態では、MAX_DELAY_CHANGEは20でもよい。
以下に、具体的な実施形態を使用することにより説明を提供する。
ステップ1:現在のフレームのチャンネル間時間差を決定するために、現在のフレームのステレオ信号に基づいて遅延推定を実行する。
このステップの具体的な内容については、ステップ101を参照する。詳細はここでは再び説明しない。
ステップ2:現在のフレームのチャンネル間時間差の符号が、前のフレームのチャンネル間時間差の符号と異なる場合、現在のフレームのチャンネル間時間差に基づいて現在のフレームの第1のチャンネル信号に対して遅延アライメント処理を実行する。
ステップ3:現在のフレームのチャンネル間時間差の符号が、前のフレームのチャンネル間時間差の符号と異なる場合、前のフレームのチャンネル間時間差に基づいて現在のフレームの第2のチャンネル信号に対して遅延アライメント処理を実行する。
ステップ2及びステップ3を参照して、第2のアライメント処理長の信号の開始点と現在のフレームの第2のチャンネル信号の開始点との間の長さは、第2のプリセット長に等しく、第1のアライメント処理長の信号の開始点と現在のフレームの第1のチャンネル信号の開始点との間の長さは、第2のプリセット長と第2のアライメント処理長との和に等しい。さらに、第1のアライメント処理長は式(8)を満たし、第2のアライメント処理長は式(9)を満たす。
図7(a)は、この出願の実施形態によるステレオ信号処理の概略図である。図7(a)において、説明を容易にするために、遅延アライメント処理の前の第1のチャンネル信号内の点と、同じ位置にある遅延アライメント処理の後の第1のチャンネル信号内の点とは、同じ座標を使用することにより記され、遅延アライメント処理の前の第2のチャンネル信号内の点と、同じ位置にある遅延アライメント処理の後の第2のチャンネル信号内の点とは、同じ座標を使用することにより記される。
現在のフレームのフレーム長はNであり、現在のフレームの第1のチャンネル信号の開始点はB1=0であり、現在のフレームの第1のチャンネル信号の終了点はE1=N-1であり、現在のフレームの第2のチャンネル信号の開始点はB2=0であり、現在のフレームの第2のチャンネル信号の終了点はE2=N-1である。第1のアライメント処理長の信号の開始点はD1=D2+L_pre_targetであり、第1のアライメント処理長の信号の終了点はC1=D1+L_next_target-1であり、第1の処理長の信号の開始点はA1=D1-abs(cur_itd)であり、第1の処理長の信号の終了点の座標は、第1のアライメント処理長の信号の終了点の座標と同じであり、すなわち、C1=D1+L_next_target-1である。第2のアライメント処理長の開始点はD2であり、第2のアライメント処理長の終了点はC2=D2+L_pre_target-1である。第2の処理長の信号の開始点はA2=D2+abs(prev_itd)であり、第2の処理長の信号の終了点はC2=D2+L_pre_target-1である。説明を容易にするために、以下では、第2のアライメント処理長の信号の開始点D2と第2のチャンネル信号の開始点B2との間の長さは、第2のプリセット長と呼ばれる。第2のプリセット長は、0よりも大きく、現在のフレームのフレーム長と第2のアライメント処理長との間の差分値以下でもよく、実際の状況に基づいて具体的に設定されてもよい。詳細はここでは説明しない。この場合、図7(a)に示すように、第1の処理長の信号は圧縮され、第2の処理長の信号は伸張される。
図7(a)を参照すると、第1のチャンネル信号に対して遅延アライメント処理を実行するプロセスにおいて、第1のチャンネル信号内の点H1から点A1-1までの信号は、圧縮処理の後の第1のチャンネル信号内の点B1から点D1-1までの信号として直接使用され、H1=B1-abs(cur_itd)である。現在のフレームの第1のチャンネル信号内の点A1から点C1までの信号は、第1のアライメント処理長の信号に圧縮され、第1のアライメント処理長の圧縮信号は、圧縮処理の後の第1のチャンネル信号内の点D1から点C1までの信号として使用される。次いで、現在のフレームの第1のチャンネル信号内の点C1+1から点E1までの信号は、圧縮処理の後の第1のチャンネル信号内の点C1+1から点E1までの信号として直接使用される。次いで、第1の遅延長の信号は、現在のフレームの第2のチャンネル信号内の終了点E2の前の第1の遅延長の信号に基づいて手動で再構成され、第1の遅延長の再構成された信号は、圧縮処理の後の第1のチャンネル信号内の点E1+1から点G1までの信号として使用され、G1=E1+abs(cur_itd)-1である。最後に、遅延アライメント処理の後に取得された信号内の点F1から点G1までの信号は、遅延アライメント処理の後の現在のフレームの第1のチャンネル信号として使用され、F1=B1+abs(cur_itd)である。
第2のチャンネル信号に対して遅延アライメント処理を実行するプロセスにおいて、第2のチャンネル信号内のH2=B2+abs(prev_itd)から始まる第2のプリセット長の信号は、伸張処理の後の第2のチャンネル信号内の開始点B2から始まる第2のプリセット長の信号として直接使用される。すなわち、図7(a)を参照すると、現在のフレームの第2のチャンネル信号内の点H2から点A2-1までの信号は、伸張処理の後の第2のチャンネル信号内の点B2から点D2-1までの信号として直接使用される。現在のフレームの第2のチャンネル信号内の点A2から点C2までの信号は、第2のアライメント処理長の信号に伸張され、第2のアライメント処理長の伸張信号は、伸張処理の後の第2のチャンネル信号内の点D2から点C2までの信号として使用される。次いで、現在のフレームの第2のチャンネル内の点C2+1から点E2までの信号は、伸張処理の後の第2のチャンネル信号内の点C2+1から点E2までの信号として直接使用される。最後に、遅延アライメント処理の後に取得された信号内の点B2から点E2までの信号は、遅延アライメント処理の後の現在のフレームの第2のチャンネル信号として使用される。
図7(a)を参照すると、この出願のこの実施形態では、第2のアライメント処理長の開始点はまた、第2のチャンネル信号の開始点でもよく、すなわち、D2=B2且つD1=B1+L_pre_targetでもよい。この場合、図7(b)に示すように、第1の処理長の信号は圧縮され、第2の処理長の信号は伸張される。
図7(b)は、この出願の実施形態によるステレオ信号処理の概略図である。図7(b)において、説明を容易にするために、遅延アライメント処理の前の第1のチャンネル信号内の点と、同じ位置にある遅延アライメント処理の後の第1のチャンネル信号内の点とは、同じ座標を使用することにより記され、遅延アライメント処理の前の第2のチャンネル信号内の点と、同じ位置にある遅延アライメント処理の後の第2のチャンネル信号内の点とは、同じ座標を使用することにより記される。
図7(b)において、現在のフレームのフレーム長はNであり、現在のフレームの第1のチャンネル信号の開始点はB1=0であり、現在のフレームの第1のチャンネル信号の終了点はE1=N-1である。第1のアライメント処理長の信号の開始点はD1=B1+L_pre_targetであり、第1のアライメント処理長の信号の終了点はC1=B1+L_pre_target+L_next_target-1であり、第1の処理長の信号の開始点はA1=B1+L_pre_target-abs(cur_itd)であり、第1の処理長の信号の終了点の座標は、第1のアライメント処理長の信号の終了点の座標と同じであり、すなわち、C1=B1+L_pre_target+L_next_target-1である。
現在のフレームの第2のチャンネル信号の開始点はB2=0であり、現在のフレームの第2のチャンネル信号の終了点はE2=N-1である。第2のアライメント処理長の開始点は第2のチャンネル信号の開始点B2であり、第2のアライメント処理長の終了点はC2=B2+L_pre_target-1である。第2の処理長の信号の開始点はA2=B2+abs(prev_itd)であり、第2の処理長の信号の終了点はC2=B2+L_pre_target-1である。
図7(b)を参照すると、第1のチャンネル信号に対して遅延アライメント処理を実行するプロセスにおいて、第1のチャンネル信号内の点H1から点A1-1までの信号は、圧縮処理の後の第1のチャンネル信号内の点B1から点D1-1までの信号として直接使用され、H1=B1-abs(cur_itd)である。現在のフレームの第1のチャンネル信号内の点A1から点C1までの信号は、第1のアライメント処理長の信号に圧縮され、第1のアライメント処理長の圧縮信号は、圧縮処理の後の第1のチャンネル信号内の点D1から点C1までの信号として使用される。次いで、現在のフレームの第1のチャンネル信号内の点C1+1から点E1までの信号は、圧縮処理の後の第1のチャンネル信号内の点C1+1から点E1までの信号として直接使用される。次いで、第1の遅延長の信号は、現在のフレームの第2のチャンネル信号内の終了点E2の前の第1の遅延長の信号に基づいて手動で再構成され、第1の遅延長の再構成された信号は、圧縮処理の後の第1のチャンネル信号内の点E1+1から点G1までの信号として使用され、G1=E1+abs(cur_itd)-1である。最後に、遅延アライメント処理の後に取得された信号内の点F1から点G1までの信号は、遅延アライメント処理の後の現在のフレームの第1のチャンネル信号として使用され、F1=B1+abs(cur_itd)である。
第2のチャンネル信号に対して遅延アライメント処理を実行するプロセスにおいて、現在のフレームの第2のチャンネル信号内の点A2から点C2までの信号は、第2のアライメント処理長の信号に伸張され、第2のアライメント処理長の伸張信号は、伸張処理の後の第2のチャンネル信号内の点B2から点C2までの信号として使用される。次いで、現在のフレームの第2のチャンネル内の点C2+1から点E2までの信号は、伸張処理の後の第2のチャンネル信号内の点C2+1から点E2までの信号として直接使用される。最後に、遅延アライメント処理の後に取得された信号内の点B2から点E2までの信号は、遅延アライメント処理の後の現在のフレームの第2のチャンネル信号として使用される。
フレームの間の平滑化を追加するために、遷移区間がまた設定されてもよく、遷移区間長はtsである。任意選択で、平滑化遷移区間の長さが更に設定されてもよく、平滑化遷移区間の長さはTs2である。具体的な方法については、上記の説明を参照する。詳細はここでは説明しない。
この出願のこの実施形態では、現在のフレームのチャンネル間時間差の符号が、前のフレームのチャンネル間時間差の符号と同じであると決定された場合、遅延アライメント処理は、現在のフレームのチャンネル間時間差及び前のフレームのチャンネル間時間差に基づいて、現在のフレームのターゲットチャンネルの信号に対して実行されてもよい。この場合、現在のフレームのターゲットチャンネル及び前のフレームのターゲットチャンネルは同じチャンネルである。具体的な遅延アライメント処理方法は、この出願のこの実施形態では限定されない。
例えば、可能な処理方法は以下の通りである。
ステップ1:現在のフレームの推定されたチャンネル間時間差を、現在のフレームのチャンネル間時間差として使用する。
ステップ2:現在のフレームのチャンネル間時間差及び前のフレームのチャンネル間時間差に基づいて、現在のフレームのターゲットチャンネル及び基準チャンネルを選択する。現在のフレームのチャンネル間時間差はcur_itdとして記され、前のフレームのチャンネル間時間差はprev_itdとして記される。具体的には、cur_itd=0である場合、現在のフレームのターゲットチャンネルは、前のフレームのターゲットチャンネルと一致する。例えば、現在のフレームのターゲットチャンネルインデックスはtarget_idxとして記され、前のフレームのターゲットチャンネルインデックスはprev_target_idxとして記され、target_idx=prev_target_idxである。cur_itd<0である場合、現在のフレームのターゲットチャンネルは左チャンネルである。例えば、現在のフレームのターゲットチャンネルインデックスはtarget_idxとして記され、target_idx=0である。cur_itd>0である場合、現在のフレームのターゲットチャンネルは右チャンネルである。例えば、現在のフレームのターゲットチャンネルインデックスはtarget_idxとして記され、target_idx=1である。
さらに、現在のフレームのターゲットチャンネルインデックスは更に符号化され、コードストリームに書き込まれてもよく、コードストリームは、デコーダ側に送信される。
ステップ3:現在のフレームのチャンネル間時間差及び前のフレームのチャンネル間時間差に基づいて、選択されたターゲットチャンネルの信号に対して遅延アライメント処理を実行する。具体的には、このステップは以下の通りでもよい。
ターゲットチャンネルに対応するチャンネルの前処理された時間領域信号は、ターゲットチャンネルの信号として使用され、基準チャンネルに対応するチャンネルの前処理された時間領域信号は、基準チャンネルの信号として使用される。例えば、ターゲットチャンネルが左チャンネルである場合、左チャンネルの前処理された時間領域信号は、ターゲットチャンネルの信号として使用され、基準チャンネルが右チャンネルである場合、右チャンネルの前処理された時間領域信号は、基準チャンネルの信号として使用される。ターゲットチャンネルが右チャンネルである場合、右チャンネルの前処理された時間領域信号は、ターゲットチャンネルの信号として使用され、基準チャンネルが左チャンネルである場合、左チャンネルの前処理された時間領域信号は、基準チャンネルの信号として使用される。
abs(cur_itd)がabs(prev_itd)に等しい場合、ターゲットチャンネルの信号は、圧縮又は伸張されない。abs(cur_itd)点の信号は、基準チャンネル信号に基づいて手動で再構成され、現在のフレームのターゲットチャンネル信号の点B+Nから点B+N+abs(cur_itd)-1までの信号として使用される。現在のフレームのターゲットチャンネル信号は、abs(cur_itd)個のサンプリング点により直接遅延され、遅延アライメント処理の後の現在のフレームのターゲットチャンネル信号として使用される。Bは現在のフレームのターゲットチャンネル信号内の開始点の座標を表し、Nは現在のフレームのフレーム長を表し、abs()は絶対値をとる演算を表す。現在のフレームの基準チャンネル信号は、遅延アライメント処理の後の現在のフレームの基準チャンネル信号として直接使用される。
abs(cur_itd)がabs(prev_itd)未満である場合、バッファリングされたターゲットチャンネル信号の点B+abs(prev_itd)-abs(cur_itd)から点B+L-1までの信号は、L個の点の長さの信号に伸張され、これは、伸張処理の後のターゲットチャンネル信号の最初のL個の点の信号として使用される。ターゲットチャンネル信号内の点B+Lから点B+N-1までの信号は、伸張処理の後のターゲットチャンネル信号内の点B+Lから点B+N-1までの信号として直接使用される。abs(cur_itd)点の信号は、基準チャンネル信号に基づいて手動で再構成され、伸張処理の後のターゲットチャンネル信号の点B+Nから点B+N+abs(cur_itd)-1までの信号として使用される。伸張処理の後のターゲットチャンネル信号内の点B+abs(cur_itd)から始まるN点の信号は、遅延アライメント処理の後の現在のフレームのターゲットチャンネル信号として使用される。現在のフレームの基準チャンネル信号は、遅延アライメント処理の後の現在のフレームの基準チャンネル信号として直接使用される。Bは現在のフレームのターゲットチャンネル信号内の開始点の座標を表し、Nは現在のフレームのフレーム長を表し、Lは遅延アライメント処理の処理長を表す。
abs(cur_itd)がabs(prev_itd)よりも大きい場合、バッファリングされたターゲットチャンネル信号の点B+abs(prev_itd)-abs(cur_itd)から点B+L-1までの信号は、L個の点の長さの信号に圧縮され、これは、圧縮処理の後のターゲットチャンネル信号の最初のL個の点の信号として使用される。ターゲットチャンネル信号内の点B+Lから点B+N-1までの信号は、圧縮処理の後のターゲットチャンネル信号内の点B+Lから点B+N-1までの信号として直接使用される。abs(cur_itd)点の信号は、基準チャンネル信号に基づいて手動で再構成され、圧縮処理の後のターゲットチャンネル信号の点B+Nから点B+N+abs(cur_itd)-1までの信号として使用される。圧縮処理の後のターゲットチャンネル信号内の点B+abs(cur_itd)から始まるN点の信号は、遅延アライメント処理の後の現在のフレームのターゲットチャンネル信号として使用される。現在のフレームの基準チャンネル信号は、遅延アライメント処理の後の現在のフレームの基準チャンネル信号として直接使用される。Bは現在のフレームのターゲットチャンネル信号内の開始点の座標を表し、Nは現在のフレームのフレーム長を表し、Lは遅延アライメント処理の処理長を表す。
フレームの間の平滑化を追加するために、遷移区間がここで設定されてもよく、遷移区間長はtsである。第1の遷移区間長は、プリセット正整数に設定されてもよく、プリセット正整数は、当業者による経験に基づいて設定されてもよい。例えば、第1の遷移区間長は、代替として、現在のフレームのチャンネル間時間差に基づいて計算されてもよい。例えば、ts=abs(cur_itd)/2である。同様に、実際の信号と再構成された信号との間に平滑化を追加するために、平滑化遷移区間が更に設定されてもよく、平滑化遷移区間の長さはTs2である。平滑化遷移区間の長さは、プリセット正整数に設定されてもよい。例えば、Ts2は10に設定される。次いで、現在のフレームのチャンネル間時間差及び前のフレームのチャンネル間時間差に基づいて、選択されたターゲットチャンネルの信号に対して遅延アライメント処理を実行するステップ3は、以下のように変更されてもよい。
abs(cur_itd)がabs(prev_itd)未満である場合、バッファリングされたターゲットチャンネル信号の点B-ts+abs(prev_itd)-abs(cur_itd)から点B+L-ts-1までの信号は、Lの長さの信号に伸張され、これは、伸張処理の後のターゲットチャンネル信号の点B-tsから点B+L-ts-1までの信号として使用される。ターゲットチャンネル信号内の点B+L-tsから点B+N-Ts2-1までの信号は、伸張処理の後のターゲットチャンネル信号内の点B+L-tsから点B+N-Ts2-1までの信号として直接使用される。Ts2点の信号は、基準チャンネル信号及びターゲットチャンネル信号に基づいて生成され、伸張処理の後のターゲットチャンネル信号の点B+N-Ts2から点B+N-1までの信号として使用される。abs(cur_itd)点の信号は、基準チャンネル信号に基づいて手動で再構成され、伸張処理の後のターゲットチャンネル信号の点B+Nから点B+N+abs(cur_itd)-1までの信号として使用される。伸張処理の後のターゲットチャンネル信号内の点B+abs(cur_itd)から始まるN点の信号は、遅延アライメント処理の後の現在のフレームのターゲットチャンネル信号として使用される。現在のフレームの基準チャンネル信号は、遅延アライメント処理の後の現在のフレームの基準チャンネル信号として直接使用される。Bは現在のフレームのターゲットチャンネル信号内の開始点の座標を表し、Nは現在のフレームのフレーム長を表し、Lは遅延アライメント処理の処理長を表す。
abs(cur_itd)がabs(prev_itd)よりも大きい場合、バッファリングされたターゲットチャンネル信号の点B-ts+abs(prev_itd)-abs(cur_itd)から点B+L-ts-1までの信号は、L個の点の長さの信号に圧縮され、これは、圧縮処理の後のターゲットチャンネル信号の点B-tsから点B+L-ts-1までの信号として使用される。ターゲットチャンネル信号内の点B+L-tsから点B+N-Ts2-1までの信号は、圧縮処理の後のターゲットチャンネル信号内の点B+L-tsから点B+N-Ts2-1までの信号として直接使用される。Ts2点の信号は、基準チャンネル信号及びターゲットチャンネル信号に基づいて生成され、圧縮処理の後のターゲットチャンネル信号の点B+N-Ts2から点B+N-1までの信号として使用される。abs(cur_itd)点の信号は、基準チャンネル信号に基づいて手動で再構成され、圧縮処理の後のターゲットチャンネルの点B+Nから点B+N+abs(cur_itd)-1までの信号として使用される。圧縮処理の後のターゲットチャンネル信号内の点B+abs(cur_itd)から始まるN点の信号は、遅延アライメント処理の後の現在のフレームのターゲットチャンネル信号として使用される。現在のフレームの基準チャンネル信号は、遅延アライメント処理の後の現在のフレームの基準チャンネル信号として直接使用される。Bは現在のフレームのターゲットチャンネル信号内の開始点の座標を表し、Nは現在のフレームのフレーム長を表し、Lは遅延アライメント処理の処理長を表す。
Ts2点の信号が基準チャンネル信号及びターゲットチャンネル信号に基づいて生成され、圧縮又は伸張処理の後のターゲットチャンネル信号の点B+N-Ts2から点B+N-1までの信号として使用されることは、具体的には以下の通りでもよい。Ts2点の信号は、ターゲットチャンネルの点B+N-Ts2から点B+N-1までの信号と、基準チャンネルの点B+N-abs(cur_itd)-Ts2から点B+N-abs(cur_itd)-1までの信号に基づいて生成され、圧縮又は伸張処理の後のターゲットチャンネル信号の点B+N-Ts2から点B+N-1までの信号として使用される。abs(cur_itd)点の信号が、基準チャンネル信号に基づいて手動で再構成され、圧縮又は伸張処理の後のターゲットチャンネルの点B+Nから点B+N+abs(cur_itd)-1までの信号として使用されることは、具体的には以下の通りでもよい。abs(cur_itd)点の信号は、基準チャンネルの点B+N-abs(cur_itd)から点B+N-1までの信号に基づいて生成され、圧縮又は伸張処理の後のターゲットチャンネル信号の点B+Nから点B+N+abs(cur_itd)-1までの信号として使用される。
遅延アライメント処理の後の現在のフレームの左チャンネル信号はx’L(n)として記され、遅延アライメント処理の後の現在のフレームの右チャンネル信号はx’R(n)として記され、nはサンプリング点シーケンス番号であり、n=0,1,...,N-1である。現在のフレームのチャンネル間時間差の符号に従って、遅延アライメント処理の後のターゲットチャンネル信号は、遅延アライメント処理の後の現在のフレームの左チャンネル信号でもよく、x’L(n)として記され、或いは、遅延アライメント処理の後のターゲットチャンネル信号は、遅延アライメント処理の後の現在のフレームの右チャンネル信号でもよく、x’R(n)として記される。同様に、遅延アライメント処理の後の基準チャンネル信号は、遅延アライメント処理の後の現在のフレームの左チャンネル信号でもよく、x’L(n)として記され、或いは、遅延アライメント処理の後の基準チャンネル信号は、遅延アライメント処理の後の現在のフレームの右チャンネル信号でもよく、x’R(n)として記される。
遅延アライメント処理の後の最終的に取得された信号は、時間領域ダウンミックス処理の後の一次チャンネル信号及び二次チャンネル信号を取得するために、時間領域ダウンミックス処理に使用される。一次チャンネル信号及び二次チャンネル信号は、入力ステレオ信号を符号化するために、別々に符号化される。
この出願の実施形態は、復号化プロセスに更に適用可能でもよく、復号化プロセスは、符号化プロセスの逆プロセスと考えられてもよく、以下に詳細に説明する。
図8は、この出願の実施形態によるステレオ信号処理方法を示し、以下を含む。
ステップ801:受信したコードストリームに基づいて現在のフレームのチャンネル間時間差を決定し、現在のフレームのチャンネル間時間差は、現在のフレームの第1のチャンネル信号と現在のフレームの第2のチャンネル信号との間の時間差である。
ステップ801において、現在のフレームの第1のチャンネル信号及び現在のフレームの第2のチャンネル信号は、受信したコードストリームに基づく復号化を通じて更に取得されてもよい。
この出願のこの実施形態は、当該方法がエンコーダ側による遅延アライメント処理の後の第1のチャンネル信号及び遅延アライメント処理の後の第2のチャンネル信号を符号化するための符号化方法に対応するという条件で、現在のフレームの第1のチャンネル信号及び現在のフレームの第2のチャンネル信号を復号化するための方法に対して限定を設定しない。現在のフレームの復号化された第1のチャンネル信号、すなわち、遅延回復処理の前の第1のチャンネル信号は、エンコーダ側の遅延アライメント処理の後の符号化された第1のチャンネル信号に対応する。現在のフレームの復号化された第2のチャンネル信号、すなわち、遅延回復処理の前の第2のチャンネル信号は、エンコーダ側の遅延アライメント処理の後の符号化された第2のチャンネル信号に対応する。
ステップ801において、現在のフレームのチャンネル間時間差を復号化するための方法は、エンコーダ側の符号化方法に対応する必要がある。例えば、エンコーダ側が、現在のフレームのチャンネル間時間差の絶対値のコードインデックスと、基準チャンネルインデックスとをコードストリームに書き込み、コードストリームをデコーダ側に送信する場合、デコーダ側は、受信した符号ストリームに基づいて、現在のフレームのチャンネル間時間差の絶対値と、基準チャンネルインデックスとを復号化する。
代替として、エンコーダ側が、現在のフレームのチャンネル間時間差の絶対値のコードインデックスと、ターゲットチャンネルインデックスとをコードストリームに書き込み、コードストリームをデコーダ側に送信する場合、デコーダ側は、受信した符号ストリームに基づいて、現在のフレームのチャンネル間時間差の絶対値と、ターゲットチャンネルインデックスとを復号化する。
代替として、エンコーダ側が、現在のフレームのチャンネル間時間差のコードインデックスをコードストリームに書き込み、コードストリームをデコーダ側に送信する場合、デコーダ側は、受信した符号ストリームに基づいて、現在のフレームのチャンネル間時間差を復号化する。
前のフレームのチャンネル間時間差を決定するための方式については、ここでの説明を参照する。詳細は更に説明しない。
ステップ802:現在のフレームのチャンネル間時間差の符号が、現在のフレームの前のフレームのチャンネル間時間差の符号と異なる場合、現在のフレームのチャンネル間時間差に基づいて現在のフレームの第1のチャンネル信号に対して遅延回復処理を実行し、前のフレームのチャンネル間時間差に基づいて現在のフレームの第2のチャンネル信号に対して遅延回復処理を実行し、第1のチャンネル信号は、現在のフレームのターゲットチャンネル信号であり、第2のチャンネル信号は、前のフレームのターゲットチャンネル信号と同じチャンネル上にある。
ステップ802において、符号は、正符号(+)又は負符号(-)を示してもよい。この出願のこの実施形態では、前のフレームは、現在のフレームの前に位置し、現在のフレームに隣接する。説明を容易にするために、以下では、現在のフレームの第1のチャンネル信号に対応するチャンネルは第1のチャンネルと呼ばれ、現在のフレームの第2のチャンネル信号に対応するチャンネルは第2のチャンネルと呼ばれる。第1のチャンネルは、現在のフレームのターゲットチャンネルであり、さらに、次のフレームのターゲットチャンネルと呼ばれてもよく、或いは、現在のフレームの指示ターゲットチャンネルと呼ばれてもよく、或いは、現在のフレームの前のフレームのターゲットチャンネル以外の他のチャンネルと呼ばれてもよい点に留意すべきである。対応して、第2のチャンネルは、現在のフレームの基準チャンネルであり、第2のチャンネルは、ステレオ信号の2つのチャンネル内にあり且つ前のフレームのターゲットチャンネルと同じであるチャンネルであり、さらに、前のフレームのターゲットチャンネルと呼ばれてもよく、或いは、現在のフレームの指示基準チャンネルと呼ばれてもよく、或いは、現在のフレームのターゲットチャンネル以外のチャンネルと呼ばれてもよい。例えば、前のフレームのターゲットチャンネルが左チャンネルである場合、第1のチャンネル信号は現在のフレーム内の右チャンネル信号であり、第2のチャンネル信号は現在のフレーム内の左チャンネル信号である。前のフレームのターゲットチャンネルが右チャンネルである場合、第1のチャンネル信号は現在のフレーム内の左チャンネル信号であり、第2のチャンネル信号は現在のフレーム内の右チャンネル信号である。
ステップ802において、デコーダ側が、受信したコードストリームに基づいて現在のフレームのチャンネル間時間差を復号化する場合、デコーダ側は、現在のフレームのチャンネル間時間差の符号が、前のフレームのチャンネル間時間差の符号と同じであるか否かを直接決定してもよい。
デコーダ側が、受信したコードストリームに基づいて、現在のフレームのチャンネル間時間差の絶対値及び現在のフレームの基準チャンネル、又は現在のフレームのチャンネル間時間差の絶対値及び現在のフレームのターゲットチャンネルインデックスを復号化する場合、デコーダ側は、現在のフレームの基準チャンネル及び前のフレームの基準チャンネルインデックスに基づいて、或いは現在のフレームのターゲットチャンネル及び前のフレームの基準チャンネルインデックスに基づいて、現在のフレームのチャンネル間時間差の符号が前のフレームのチャンネル間時間差の符号と同じであるか否かを決定する必要がある。
ここでは、現在のフレームのチャンネル間時間差の絶対値及び基準チャンネルインデックスが復号化されることが、例として使用される。具体的には、現在のフレームの基準チャンネルインデックスが前のフレームの基準チャンネルインデックスと等しくない場合、現在のフレームのチャンネル間時間差の符号が前のフレームのチャンネル間時間差の符号と異なると決定される。現在のフレームの基準チャンネルインデックスが前のフレームの基準チャンネルインデックスと等しい場合、現在のフレームのチャンネル間時間差の符号が前のフレームのチャンネル間時間差の符号と同じであると決定される。他の場合については、ここでの説明を参照する。詳細は更に説明しない。
デコーダ側の遅延回復処理は、エンコーダ側の遅延アライメント処理に対応する。エンコーダ側が圧縮を実行する場合、デコーダ側は圧縮信号を伸張する必要がある。同様に、エンコーダ側が伸張を実行する場合、デコーダ側は伸張信号を圧縮する必要がある。
この出願のこの実施形態では、復号化プロセスにおいて、第1のチャンネル信号及び第2のチャンネル信号に対して遅延回復処理を実行するための複数の方法が存在し、これらは、以下に別々に記載される。
1.現在のフレームのチャンネル間時間差に基づいて現在のフレームの第1のチャンネル信号に対して遅延回復処理を実行する。
具体的には、現在のフレームの第1のチャンネル信号内の第3の処理長の信号は、遅延回復処理の後の現在のフレームの第1のチャンネル信号を取得するために、第3のアライメント処理長の信号に伸張される。第3の処理長は、現在のフレームのチャンネル間時間差及び第3のアライメント処理長に基づいて決定され、第3の処理長は、第3のアライメント処理長未満である。
復号化プロセスにおいて、第3の処理長は、第3のアライメント処理長と現在のフレームのチャンネル間時間差の絶対値との間の差でもよく、第3のアライメント処理長は、プリセット長でもよく、或いは、他の方式で決定されてもよく、例えば、式(8)に従って決定されてもよい。この出願のこの実施形態では、第3のアライメント処理長は、現在のフレームのフレーム長以下である。第3のアライメント処理長が予め設定されるとき、第3のアライメント処理長は、L、L/2、L/3又はL以下のいずれかの長さでもよい。Lは、現在のサンプリングレートにおいて対応するフレーム長N以下であり且つチャンネル間時間差の絶対値の最大値よりも大きいいずれかのプリセット正整数である。例えば、L=290又はL=200である。この出願のこの実施形態では、Lは、異なるサンプリングレートについて異なる値に設定されてもよく、或いは、一様な値でもよい。一般的に、値は、当業者の経験に基づいて予め設定されてもよい。例えば、サンプリングレートが16KHzであるとき、Lは290に設定される。この場合、第3のアライメント処理長はL/2=145である。
この出願のこの実施形態では、第3の処理長の信号の開始点は、第3のアライメント処理長の信号の開始点の後に位置し、第3の処理長の信号の開始点と第3のアライメント処理長の信号の開始点との間の長さは、現在のフレームのチャンネル間時間差の絶対値である。
この出願のこの実施形態では、第3のアライメント処理長はL2_next_targetにより表されてもよく、第4のアライメント処理長はL2_pre_targetにより表されてもよい。エンコーダ側の第1のアライメント処理長は、実際には、エンコーダ側に対応するデコーダ側の第3のアライメント処理長と等しい点に留意すべきである。対応して、エンコーダ側の第2のアライメント処理長は、実際には、エンコーダ側に対応するデコーダ側の第4のアライメント処理長と等しい。説明を容易にするために、ここでは、長さを表すために異なる表記が使用される。現在のフレームのチャンネル間時間差はcur_itdであり、abs(cur_itd)は現在のフレームのチャンネル間時間差の絶対値を表す。説明を容易にするために、abs(cur_itd)は、以下の説明では第1の遅延長と呼ばれる。前のフレームのチャンネル間時間差はprev_itdであり、abs(prev_itd)は前のフレームのチャンネル間時間差の絶対値を表す。説明を容易にするために、abs(prev_itd)は、以下の説明では第2の遅延長と呼ばれる。
復号化プロセスにおいて、第3の処理長の信号の具体的な位置は、異なる実際の条件に基づいて決定されてもよく、これらは、以下に別々に記載される。
第1の可能な場合:
図9は、この出願の実施形態によるステレオ信号処理の概略図である。図9において、説明を容易にするために、遅延回復処理の前の第1のチャンネル信号内の点と、同じ位置にある伸張処理の後の第1のチャンネル信号内の点とは、同じ座標を使用することにより記されるが、これは、同じ座標を有する点の信号が同じであることを意味するのではない。
図9において、現在のフレームのフレーム長はNであり、現在のフレームの第1のチャンネル信号の開始点はB3=0であり、現在のフレームの第1のチャンネル信号の終了点はE3=N-1である。第3の処理長の信号の開始点は、現在のフレームの第1のチャンネル信号の開始点B3に位置し、第3の処理長の信号の終了点はC3=B3-abs(cur_itd)+L2_next_target-1である。
図9において、第3のアライメント処理長の開始点はA3=B3-abs(cur_itd)であり、第3のアライメント処理長の信号の終了点はC3であり、これは、第3の処理長の信号の終了点の座標と同じである。
遅延回復処理のプロセスにおいて、図9を参照すると、現在のフレームの第1のチャンネル信号内の点B3から点C3までの信号は、第3のアライメント処理長の信号に伸張され、第3のアライメント処理長の伸張信号は、伸張処理の後の第1のチャンネル信号内の第3のアライメント処理長の開始点A3から始まる第3のアライメント処理長の信号として使用され、すなわち、伸張処理の後の第1のチャンネル信号内の第3のアライメント処理長の開始点A3から点C3までの信号として使用される。
この出願のこの実施形態では、信号伸張中に、現在のフレームの第1のチャンネル信号内の点C3+1から点E3までの信号は、伸張処理の後の第1のチャンネル信号内の点C3+1から点E3までの信号として直接使用されてもよい。
最後に、伸張処理の後の第1のチャンネル信号内で、開始点A3から始まるN個のサンプリング点が、遅延回復処理の後の現在のフレームの第1のチャンネル信号として使用される。すなわち、遅延回復処理の後の現在のフレームの第1のチャンネル信号の開始点は点G3であり、G3=E3-abs(cur_itd)である。
一般的に、第3の処理長の信号の開始点は、第1のチャンネル信号の開始点の後に位置してもよい。しかし、第3の処理長の信号の開始点が第1のチャンネル信号の開始点の後に位置するとき、第3の処理長の信号の開始点と現在のフレームの第1のチャンネル信号の終了点との間の長さが、第3のアライメント処理長と現在のフレームのチャンネル間時間差の絶対値との間の差以上であることが確保される必要があり、これについて以下に詳細に説明する。
第2の可能な場合:
図10は、この出願の実施形態によるステレオ信号処理の概略図である。図10において、説明を容易にするために、遅延回復処理の前の第1のチャンネル信号内の点と、同じ位置にある伸張処理の後の第1のチャンネル信号内の点とは、同じ座標を使用することにより記されるが、これは、同じ座標を有する点の信号が同じであることを意味するのではない。
図10において、現在のフレームのフレーム長はNであり、現在のフレームの第1のチャンネル信号の開始点はB3=0であり、現在のフレームの第1のチャンネル信号の終了点はE3=N-1である。
図10において、第3の処理長の開始点はD3であり、第3の処理長の信号の終了点はC3=D3-abs(cur_itd)+L2_next_target-1である。A3は第3のアライメント処理長の信号の開始点であり、A3=D3-abs(cur_itd)である。第3のアライメント処理長の信号の終了点の座標は、第3の処理長の信号の終了点C3の座標と同じであり、すなわち、C3=A3+L2_next_target-1=D3-abs(cur_itd)+L2_next_target-1である。第3の処理長の信号の開始点D3は、現在のフレームの第1のチャンネル信号の開始点B3の後に位置し、第3の処理長の信号の開始点と現在のフレームの第1のチャンネル信号の終了点との間の長さは、第3のアライメント処理長と現在のフレームのチャンネル間時間差の絶対値との間の差以上である。第3の処理長の信号の開始点D3と現在のフレームの第1のチャンネル信号の開始点B3との間の長さは、第3のプリセット長である。第3のプリセット長は、実際の状況に基づいて決定されてもよく、第3のプリセット長は、0よりも大きく、現在のフレームのフレーム長と第3の処理長との間の差以下である。図10において、第3のプリセット長が、現在のフレームのチャンネル間時間差の絶対値よりも大きいことが、説明のための例として使用される。第3のプリセット長の他の場合については、ここでの説明を参照する。
図10において、第3の処理長の信号の開始点D3と現在のフレームの第1のチャンネル信号の開始点B3との間の長さは、第3のプリセット長であり、第3のアライメント処理長の信号の開始点はA3であり、A3=D3-abs(cur_itd)である。H3は、現在のフレームの第1のチャンネル信号の開始点B3の前に位置し、H3とA3との間の長さは、第3のプリセット長であり、H3とB3との間の長さは、現在のフレームのチャンネル間時間差の絶対値であり、すなわち、H3=B3-abs(cur_itd)である。
点A3は、現在のフレームの第1のチャンネル信号の開始点B3の前に位置してもよく、点A3と現在のフレームの第1のチャンネル信号の開始点B3との間の長さは、現在のフレームのチャンネル間時間差の絶対値以下である点に留意すべきである。点A3は、現在のフレームの第1のチャンネル信号の開始点B3に位置してもよい。点A3は、代替として、現在のフレームの第1のチャンネル信号の開始点B3の後に位置してもよく、点A3と現在のフレームの第1のチャンネル信号の開始点B3との間の長さは、現在のフレームのフレーム長と第3のアライメント処理長との間の差以下である。点A3が上記の位置にある場合については、ここでの説明を参照する。詳細は更に説明しない。
遅延回復処理のプロセスにおいて、現在のフレームの第1のチャンネル信号の開始点B3から始まる第3のプリセット長の信号は、第3のアライメント処理長の開始点A3の前の第3のプリセット長の信号として使用されてもよい。図10を参照すると、現在のフレームの第1のチャンネル信号内の点B3から点D3-1までの信号は、遅延回復処理の後の第1のチャンネル信号内の点H3から点A3-1までの信号として使用される。
次いで、現在のフレームの第1のチャンネル信号内の開始点から始まる第3の処理長の信号は、第3のアライメント処理長の信号に伸張されてもよく、第3のアライメント処理長の伸張信号は、伸張処理の後の第1のチャンネル信号内の第3のアライメント処理長の開始点から始まる第3のアライメント処理長の信号として使用される。図10を参照すると、現在のフレームの第1のチャンネル信号内の開始点D3から点C3までの信号は、第3のアライメント処理長の信号に伸張され、伸張処理の後の第1のチャンネル信号内の点A3から点C3までの信号として使用される。
次いで、現在のフレームの第1のチャンネル信号内の点C3+1から点E3までの信号は、伸張処理の後の第1のチャンネル信号内の点C3+1から点E3までの信号として使用される。
最後に、伸張処理の後の第1のチャンネル信号内の開始点H3から始まるN点の信号は、遅延回復処理の後の現在のフレームの第1のチャンネル信号として使用される。遅延回復処理の後の現在のフレームの第1のチャンネル信号の開始点は点G3であり、G3=E3-abs(cur_itd)である。
2.前のフレームのチャンネル間時間差に基づいて現在のフレームの第2のチャンネル信号に対して遅延回復処理を実行する。
具体的には、現在のフレームの第2のチャンネル信号内の第4の処理長の信号は、遅延回復処理の後の現在のフレームの第2のチャンネル信号を取得するために、第4のアライメント処理長の信号に圧縮される。第4の処理長は、前のフレームのチャンネル間時間差及び第4のアライメント処理長に基づいて決定され、第4の処理長は、第4のアライメント処理長よりも大きい。
この出願のこの実施形態では、第4の処理長は、前のフレームのチャンネル間時間差の絶対値と第4のアライメント処理長との和でもよい。さらに、第4の処理長の信号の開始点は、第4のアライメント処理長の信号の開始点の前に位置し、第4の処理長の信号の開始点と第4のアライメント処理長の信号の開始点との間の長さは、前のフレームのチャンネル間時間差の絶対値である。
第4のアライメント処理長は、プリセット長でもよく、或いは、他の方式で決定されてもよく、例えば、式(9)に従って決定されてもよい点に留意すべきである。この出願のこの実施形態では、第4のアライメント処理長が現在のフレームのフレーム長以下であり、第4のアライメント処理長が予め設定されるとき、第4のアライメント処理長は、L、L/2、L/3又はL以下のいずれかの長さでもよい。
この出願のこの実施形態では、第4のアライメント処理長の信号の開始点は、現在のフレームの第2のチャンネル信号の開始点に位置してもよく、或いは、現在のフレームの第2のチャンネル信号の開始点の後に位置してもよい。しかし、いずれの場合でも、第4のアライメント処理長の信号の開始点と現在のフレームの第2のチャンネル信号の終了点との間の長さは、第4のアライメント処理長以上であり、これらは以下に別々に記載される。
第1の可能な場合:
図11は、この出願の実施形態によるステレオ信号処理の概略図である。図11において、説明を容易にするために、遅延回復処理の前の第2のチャンネル信号内の点と、同じ位置にある圧縮処理の後の第2のチャンネル信号内の点とは、同じ座標を使用することにより記されるが、これは、同じ座標を有する点の信号が同じであることを意味するのではない。
図11において、現在のフレームのフレーム長はNであり、現在のフレームの第2のチャンネル信号の開始点はB4=0であり、現在のフレームの第2のチャンネル信号の終了点はE4=N-1である。
第4のアライメント処理長の開始点は、現在のフレームの第2のチャンネル信号の開始点B4に位置し、第4のアライメント処理長の信号の終了点はC4=B4+L2_pre_target-1である。第4の処理長の信号の開始点はA4=B4-abs(prev_itd)であり、第4の処理長の信号の終了点はC4であり、これは、第4のアライメント処理長の信号の開始点の座標と同じである。
遅延回復処理のプロセスにおいて、第4の処理長の信号の開始点から始まる第4の処理長の信号は、第4のアライメント処理長の信号に圧縮されてもよく、第4のアライメント処理長の圧縮信号は、圧縮処理の後の第2のチャンネル信号内の点B4から始まる第4のアライメント処理長の信号として使用される。図11を参照すると、点A4から点C4までの信号は、第4のアライメント処理長の信号に圧縮され、第4のアライメント処理長の圧縮信号は、圧縮処理の後の第2のチャンネル信号内の点B4から点C4までの信号として使用される。
次いで、現在のフレームの第2のチャンネル信号内の点C4+1から点E4までの信号は、圧縮処理の後の第2のチャンネル信号内の点C4+1から点E4までの信号として使用される。
最後に、圧縮処理の後の第2のチャンネル信号内の開始点B4から始まるN点の信号が、遅延回復処理の後の現在のフレームの第2のチャンネル信号として使用され、すなわち、遅延アライメント処理の後の現在のフレームの第2のチャンネル信号の開始点は点B4であり、終了点はE4である。
第2の可能な場合:
図12は、この出願の実施形態によるステレオ信号処理の概略図である。図12において、説明を容易にするために、遅延回復処理の前の現在のフレームの第2のチャンネル信号内の点と、同じ位置にある圧縮処理の後の現在のフレームの第2のチャンネル信号内の点とは、同じ座標を使用することにより記されるが、これは、同じ座標を有する点の信号が同じであることを意味するのではない。
図12において、現在のフレームのフレーム長はNであり、現在のフレームの第1のチャンネル信号の開始点はB4=0であり、現在のフレームの第1のチャンネル信号の終了点はE4=N-1である。
第4のアライメント処理長の開始点はD4であり、第4のアライメント処理長の信号の終了点はC4=D4+L2_pre_target-1である。第4のアライメント処理長の信号の開始点D4は、現在のフレームの第2のチャンネル信号の開始点B4の後に位置し、第4のアライメント処理長の信号の開始点D4と現在のフレームの第2のチャンネル信号の終了点E4との間の長さは、第4のアライメント処理長以上である。
説明を容易にするために、第4のアライメント処理長の信号の開始点D4と現在のフレームの第2のチャンネル信号の開始点B4との間の長さは、第4のプリセット長であり、第4のプリセット長は、0よりも大きく、現在のフレームのフレーム長と第4のアライメント処理長との間の差以下である。
第4の処理長の信号の開始点はA4=D4-abs(prev_itd)であり、第4の処理長の信号の終了点はC4であり、これは、第4のアライメント処理長信号の開始点の座標と同じである。
図12において、点H4と点A4との間の長さは、第4のプリセット長であり、点H4と点B4との間の長さは、前のフレームのチャンネル間時間差の絶対値であり、すなわち、H4=B4-abs(prev_itd)である。
遅延回復処理のプロセスにおいて、現在のフレームの第2のチャンネル信号内の第4の処理長の信号の開始点の前の第4のプリセット長の信号は、圧縮処理の後の第2のチャンネル信号内の点B4から始まる第4のプリセット長の信号として使用されてもよい。図12を参照すると、点H4から点A4-1までの信号は、圧縮処理の後の第2のチャンネル信号内の点B4から点D4-1までの信号として使用される。
次いで、現在のフレームの第2のチャンネル信号内の第4の処理長の信号の開始点から始まる第4の処理長の信号は、第4のアライメント処理長の信号に圧縮されてもよく、第4のアライメント処理長の圧縮信号は、圧縮処理の後の第2のチャンネル信号内の第4のアライメント処理長の信号の開始点から始まる第4のアライメント処理長の信号として使用される。図12を参照すると、現在のフレームの第2のチャンネル信号内の点A4から点C4までの信号は、第4のアライメント処理長の信号に圧縮され、第4のアライメント処理長の圧縮信号は、圧縮処理の後の第2のチャンネル信号内の点D4から点C4までの信号として使用される。
次いで、現在のフレームの第2のチャンネル信号内の非圧縮信号は不変のままであり、すなわち、現在のフレームの第2のチャンネル信号内の点C4+1から点E4までの信号は、圧縮処理の後の第2のチャンネル信号内の点C4+1から点E4までの信号として使用される。
最後に、圧縮処理の後の第2のチャンネル信号内の開始点B4から始まるN点の信号が、遅延回復処理の後の現在のフレームの第2のチャンネル信号として使用される。
以下に、具体的な実施形態を使用することにより説明を提供する。
ステップ1:受信したコードストリームに基づいて現在のフレームのチャンネル間時間差を決定する。
このステップの具体的な内容については、ステップ801を参照する。詳細はここでは再び説明しない。
ステップ2:現在のフレームのチャンネル間時間差の符号が、前のフレームのチャンネル間時間差の符号と異なる場合、現在のフレームのチャンネル間時間差に基づいて現在のフレームの第1のチャンネル信号に対して遅延回復処理を実行する。
ステップ3:現在のフレームのチャンネル間時間差の符号が、前のフレームのチャンネル間時間差の符号と異なる場合、前のフレームのチャンネル間時間差に基づいて現在のフレームの第2のチャンネル信号に対して遅延回復処理を実行する。
ステップ2及びステップ3において、第4のアライメント処理長の信号の開始点と現在のフレームの第2のチャンネル信号の開始点との間の長さは、第4のプリセット長に等しく、第3のアライメント処理長の信号の開始点と現在のフレームの第1のチャンネル信号の開始点との間の長さは、第4のプリセット長と第4のアライメント処理長との和に等しい。さらに、第3のアライメント処理長は式(8)を満たし、第4のアライメント処理長は式(9)を満たす。この場合、図13に示すように、第3の処理長の信号は伸張され、第4の処理長の信号は圧縮される。図13において、第4アライメント処理長の開始点が現在のフレームの第1のチャンネル信号の開始点に位置する例が説明に使用される。第4のアライメント処理長の開始点が他の位置に位置するとき、第4のアライメント処理長の開始点が現在のフレームの第2のチャンネル信号の開始点B4の後に位置するときに遅延回復処理が第2のチャンネル信号に対して実行される説明と、この場合に遅延回復処理が第1のチャンネル信号に対して実行される説明とを参照する。詳細はここでは説明しない。
図13において、現在のフレームのフレーム長はNであり、現在のフレームの第2のチャンネル信号の開始点はB4=0であり、現在のフレームの第2のチャンネル信号の終了点はE4=N-1である。第4のアライメント処理長の信号の開始点は、現在のフレームの第2のチャンネル信号の開始点B4に位置し、第4のアライメント処理長の信号の終了点はC4=B4+L2_pre_target-1である。第4の処理長の信号の開始点はA4=B4-abs(prev_itd)であり、第4の処理長の信号の終了点はC4=B4+L2_pre_target-1である。
現在のフレームの第1のチャンネル信号の開始点はB3=0であり、現在のフレームの第1のチャンネル信号の終了点はE3=N-1である。第3の処理長の信号の開始点はD3=B4+L2_pre_targetであり、D3=C4+1である。第3の処理長の信号の終了点はC3=A3+L2_next_target-1であり、第3の処理長の信号の開始点はA3=D3-abs(cur_itd)であり、第3の処理長の信号の終了点はC3=A3+L_next_target-1である。
遅延回復処理のプロセスにおいて、第1のチャンネル信号について、現在のフレームの第1のチャンネル信号内の点B3から点D3-1までの信号は、伸張処理の後の第1のチャンネル信号内の点H3から点A3-1までの信号として直接使用され、H3=A3-L2_pre_targetである。
次いで、現在のフレームの第1のチャンネル信号内の点D3から点C3までの信号は、第3のアライメント処理長の信号に伸張され、第3のアライメント処理長の伸張信号は、伸張処理の後の第1のチャンネル信号内の点A3から点C3までの信号として使用される。
次いで、現在のフレームの第1のチャンネル信号内の点C3+1から点E3までの信号は、伸張処理の後の第1のチャンネル信号内の点C3+1から点E3までの信号として使用される。
最後に、延長処理の後の第1のチャンネル信号内の開始点A3から始まるN点の信号は、遅延回復処理の後の現在のフレームの第1のチャンネル信号として使用される。遅延回復処理の後の現在のフレームの第1のチャンネル信号の開始点は点A3であり、終了点は点G3であり、G3=E3-abs(cur_itd)である。
遅延回復処理のプロセスにおいて、第2のチャンネル信号について、点A4から点C4までの信号は、第4のアライメント処理長の信号に圧縮され、第4アライメント処理長の圧縮信号は、圧縮処理の後の第2のチャンネル信号内の点B4から点C4までの信号として使用される。
次いで、現在のフレームの第2のチャンネル信号内の点C4+1から点E4までの信号は、圧縮処理の後の第2のチャンネル信号内の点C4+1から点E4までの信号として使用される。
最後に、圧縮処理の後の第2のチャンネル信号内の開始点B4から始まるN点の信号は、遅延回復処理の後の現在のフレームの第2のチャンネル信号として使用され、すなわち、遅延回復処理の後の現在のフレームの第2のチャンネル信号の開始点は点B4であり、終了点は点E4である。
この出願のこの実施形態では、信号の伸張又は圧縮方法は限定されない点に留意すべきである。詳細については、ステップ101及びステップ102における説明を参照する。詳細はここでは再び説明しない。
この出願のこの実施形態では、フレーム間に遷移区間長が存在するとき、上記の説明を参照する。詳細はここでは説明しない。
同じ技術的概念に基づいて、この出願の実施形態は、ステレオ信号処理装置を更に提供し、ステレオ信号処理装置は、図1における方法の手順を実行してもよい。
図14に示すように、この出願の実施形態は、ステレオ信号処理装置の概略構造図を提供する。
図14を参照すると、ステレオ信号処理装置1400は、
現在のフレームのチャンネル間時間差を決定するために、現在のフレームのステレオ信号に基づいて遅延推定を実行するように構成された遅延推定ユニット1401と、
現在のフレームのチャンネル間時間差の符号が、前のフレームのチャンネル間時間差の符号と異なると決定された場合、現在のフレームのチャンネル間時間差に基づいて現在のフレームの第1のチャンネル信号に対して遅延アライメント処理を実行し、前のフレームのチャンネル間時間差に基づいて現在のフレームの第2のチャンネル信号に対して遅延アライメント処理を実行するように構成された処理ユニット1402であり、第1のチャンネル信号は、現在のフレームのターゲットチャンネル信号であり、第2のチャンネル信号は、現在のフレームのステレオ信号内にあり且つ前のフレームのターゲットチャンネル信号と同じチャンネル上にある信号である、処理ユニット1042と
を含む。
任意選択で、処理ユニット1402は、
遅延アライメント処理の後の現在のフレームの第1のチャンネル信号を取得するために、現在のフレームの第1のチャンネル信号内の第1の処理長の信号を、第1のアライメント処理長の信号に圧縮するように具体的に構成され、
第1の処理長は、現在のフレームのチャンネル間時間差及び第1のアライメント処理長に基づいて決定され、第1の処理長は、第1のアライメント処理長よりも大きい。
任意選択で、第1の処理長は、現在のフレームのチャンネル間時間差の絶対値と第1のアライメント処理長との和である。
任意選択で、第1の処理長の信号の開始点は、第1のアライメント処理長の信号の開始点の前に位置し、第1の処理長の信号の開始点と第1のアライメント処理長の信号の開始点との間の長さは、現在のフレームのチャンネル間時間差の絶対値である。
任意選択で、第1のアライメント処理長の信号の開始点は、現在のフレームの第1のチャンネル信号の開始点に或いは現在のフレームの第1のチャンネル信号の開始点の後に位置し、第1のアライメント処理長の信号の開始点と現在のフレームの第1のチャンネル信号の終了点との間の長さは、第1のアライメント処理長以上である。
任意選択で、第1のアライメント処理長の信号の開始点は、現在のフレームの第1のチャンネル信号の開始点の前に位置し、第1のアライメント処理長の信号の開始点と現在のフレームの第1のチャンネル信号の開始点との間の長さは、遷移区間長以下であり、第1のアライメント処理長の信号の開始点と現在のフレームの第1のチャンネル信号の終了点との間の長さは、第1のアライメント処理長と遷移区間長との和以上であり、遷移区間長は、現在のフレームのチャンネル間時間差の絶対値以下である。
任意選択で、処理ユニット1402は、
遅延アライメント処理の後の現在のフレームの第2のチャンネル信号を取得するために、現在のフレームの第2のチャンネル信号内の第2の処理長の信号を、第2のアライメント処理長の信号に伸張するように具体的に構成され、
第2の処理長は、前のフレームのチャンネル間時間差及び第2のアライメント処理長に基づいて決定され、第2の処理長は、第2のアライメント処理長未満である。
任意選択で、第2の処理長は、第2のアライメント処理長と前のフレームのチャンネル間時間差の絶対値との間の差である。
任意選択で、第2の処理長の信号の開始点は、第2のアライメント処理長の信号の開始点の後に位置し、第2の処理長の信号の開始点と第2のアライメント処理長の信号の開始点との間の長さは、前のフレームのチャンネル間時間差の絶対値である。
任意選択で、第2のアライメント処理長の信号の開始点は、現在のフレームの第2のチャンネル信号の開始点に或いは現在のフレームの第2のチャンネル信号の開始点の後に位置し、第2のアライメント処理長の信号の開始点と現在のフレームの第2のチャンネル信号の終了点との間の長さは、第2のアライメント処理長以上である。
任意選択で、第2のアライメント処理長の信号の開始点と現在のフレームの第2のチャンネル信号の開始点との間の長さは、第2のプリセット長に等しく、第1のアライメント処理長の信号の開始点と現在のフレームの第1のチャンネル信号の開始点との間の長さは、第2のプリセット長と第2のアライメント処理長との和に等しい。
任意選択で、第1のアライメント処理長は、現在のフレームのフレーム長以下であり、第1のアライメント処理長は、プリセット長であるか、或いは、第1のアライメント処理長は、以下の式を満たし、
L_next_targetは第1のアライメント処理長であり、cur_itdは現在のフレームのチャンネル間時間差であり、prev_itdは前のフレームのチャンネル間時間差であり、Lは遅延アライメント処理の処理長である。
任意選択で、第2のアライメント処理長は、現在のフレームのフレーム長以下であり、第2のアライメント処理長は、プリセット長であるか、或いは、第2のアライメント処理長は、以下の式を満たし、
L_pre_targetは第2のアライメント処理長であり、cur_itdは現在のフレームのチャンネル間時間差であり、prev_itdは前のフレームのチャンネル間時間差であり、Lは遅延アライメント処理の処理長である。
任意選択で、遅延アライメント処理の処理長は、現在のフレームのフレーム長以下であり、遅延アライメント処理の処理長は、プリセット長であるか、或いは、遅延アライメント処理の処理長は、以下の式を満たし、
Lは遅延アライメント処理の処理長であり、MAX_DELAY_CHANGEは隣接するフレームのチャンネル間時間差の間の最大差分値であり、L_initは遅延アライメント処理のプリセット処理長である。
同じ技術的概念に基づいて、この出願の実施形態は、ステレオ信号処理装置を更に提供し、ステレオ信号処理装置は、図1における方法の手順を実行してもよい。
図15に示すように、この出願の実施形態は、ステレオ信号処理装置の概略構造図を提供する。
図15を参照すると、ステレオ信号処理装置1500は、プロセッサ1501及びメモリ1502を含む。
メモリ1052は実行可能命令を記憶し、実行可能命令は、プロセッサ1501に対して、以下のステップ、すなわち、
現在のフレームのチャンネル間時間差を決定するために、現在のフレームのステレオ信号に対して遅延推定を実行するステップであり、現在のフレームのチャンネル間時間差は、現在のフレームの第1のチャンネル信号と現在のフレームの第2のチャンネル信号との間の時間差である、ステップと、
現在のフレームのチャンネル間時間差の符号が、現在のフレームの前のフレームのチャンネル間時間差の符号と異なる場合、現在のフレームのチャンネル間時間差に基づいて現在のフレームの第1のチャンネル信号に対して遅延アライメント処理を実行し、前のフレームのチャンネル間時間差に基づいて現在のフレームの第2のチャンネル信号に対して遅延アライメント処理を実行するステップであり、第1のチャンネル信号は、現在のフレームのターゲットチャンネル信号であり、第2のチャンネル信号は、前のフレームのターゲットチャンネル信号と同じチャンネル上にある、ステップと
を実行するように命令するために使用される。
任意選択で、実行可能命令は、現在のフレームのチャンネル間時間差に基づいて現在のフレームの第1のチャンネル信号に対して遅延アライメント処理を実行するとき、プロセッサ1501に対して、以下のステップ、すなわち、
遅延アライメント処理の後の現在のフレームの第1のチャンネル信号を取得するために、現在のフレームの第1のチャンネル信号内の第1の処理長の信号を、第1のアライメント処理長の信号に圧縮するステップであり、
第1の処理長は、現在のフレームのチャンネル間時間差及び第1のアライメント処理長に基づいて決定され、第1の処理長は、第1のアライメント処理長よりも大きい、ステップ
を実行するように命令するために使用される。
任意選択で、第1の処理長は、現在のフレームのチャンネル間時間差の絶対値と第1のアライメント処理長との和である。
任意選択で、第1の処理長の信号の開始点は、第1のアライメント処理長の信号の開始点の前に位置し、第1の処理長の信号の開始点と第1のアライメント処理長の信号の開始点との間の長さは、現在のフレームのチャンネル間時間差の絶対値である。
任意選択で、第1のアライメント処理長の信号の開始点は、現在のフレームの第1のチャンネル信号の開始点に或いは現在のフレームの第1のチャンネル信号の開始点の後に位置し、第1のアライメント処理長の信号の開始点と現在のフレームの第1のチャンネル信号の終了点との間の長さは、第1のアライメント処理長以上である。
任意選択で、第1のアライメント処理長の信号の開始点は、現在のフレームの第1のチャンネル信号の開始点の前に位置し、第1のアライメント処理長の信号の開始点と現在のフレームの第1のチャンネル信号の開始点との間の長さは、遷移区間長以下であり、第1のアライメント処理長の信号の開始点と現在のフレームの第1のチャンネル信号の終了点との間の長さは、第1のアライメント処理長と遷移区間長との和以上であり、遷移区間長は、現在のフレームのチャンネル間時間差の絶対値以下である。
任意選択で、実行可能命令は、前のフレームのチャンネル間時間差に基づいて現在のフレームの第2のチャンネル信号に対して遅延アライメント処理を実行するとき、プロセッサ1501に対して、以下のステップ、すなわち、
遅延アライメント処理の後の現在のフレームの第2のチャンネル信号を取得するために、現在のフレームの第2のチャンネル信号内の第2の処理長の信号を、第2のアライメント処理長の信号に伸張するステップであり、
第2の処理長は、前のフレームのチャンネル間時間差及び第2のアライメント処理長に基づいて決定され、第2の処理長は、第2のアライメント処理長未満である、ステップ
を実行するように命令するために使用される。
任意選択で、第2の処理長は、第2のアライメント処理長と前のフレームのチャンネル間時間差の絶対値との間の差である。
任意選択で、第2の処理長の信号の開始点は、第2のアライメント処理長の信号の開始点の後に位置し、第2の処理長の信号の開始点と第2のアライメント処理長の信号の開始点との間の長さは、前のフレームのチャンネル間時間差の絶対値である。
任意選択で、第2のアライメント処理長の信号の開始点は、現在のフレームの第2のチャンネル信号の開始点に或いは現在のフレームの第2のチャンネル信号の開始点の後に位置し、第2のアライメント処理長の信号の開始点と現在のフレームの第2のチャンネル信号の終了点との間の長さは、第2のアライメント処理長以上である。
任意選択で、第2のアライメント処理長の信号の開始点と現在のフレームの第2のチャンネル信号の開始点との間の長さは、第2のプリセット長に等しく、第1のアライメント処理長の信号の開始点と現在のフレームの第1のチャンネル信号の開始点との間の長さは、第2のプリセット長と第2のアライメント処理長との和に等しい。
任意選択で、第1のアライメント処理長は、現在のフレームのフレーム長以下であり、第1のアライメント処理長は、プリセット長であるか、或いは、第1のアライメント処理長は、以下の式を満たし、
L_next_targetは第1のアライメント処理長であり、cur_itdは現在のフレームのチャンネル間時間差であり、prev_itdは前のフレームのチャンネル間時間差であり、Lは遅延アライメント処理の処理長である。
任意選択で、第2のアライメント処理長は、現在のフレームのフレーム長以下であり、第2のアライメント処理長は、プリセット長であるか、或いは、第2のアライメント処理長は、以下の式を満たし、
L_pre_targetは第2のアライメント処理長であり、cur_itdは現在のフレームのチャンネル間時間差であり、prev_itdは前のフレームのチャンネル間時間差であり、Lは遅延アライメント処理の処理長である。
任意選択で、遅延アライメント処理の処理長は、現在のフレームのフレーム長以下であり、遅延アライメント処理の処理長は、プリセット長であるか、或いは、遅延アライメント処理の処理長は、以下の式を満たし、
Lは遅延アライメント処理の処理長であり、MAX_DELAY_CHANGEは隣接するフレームのチャンネル間時間差の間の最大差分値であり、L_initは遅延アライメント処理のプリセット処理長である。
同じ技術的概念に基づいて、この出願の実施形態は、ステレオ信号処理装置を更に提供し、ステレオ信号処理装置は、図8における方法の手順を実行してもよい。
図16に示すように、この出願の実施形態は、ステレオ信号処理装置の概略構造図を提供する。
図16を参照すると、ステレオ信号処理装置1600は、
受信したコードストリームに基づいて現在のフレームのチャンネル間時間差を決定するように構成されたトランシーバユニット1601と、
現在のフレームのチャンネル間時間差の符号が、前のフレームのチャンネル間時間差の符号と異なる場合、現在のフレームのチャンネル間時間差に基づいて現在のフレームの第1のチャンネル信号に対して遅延回復処理を実行し、前のフレームのチャンネル間時間差に基づいて現在のフレームの第2のチャンネル信号に対して遅延回復処理を実行するように構成された処理ユニット1602であり、第1のチャンネル信号は、現在のフレームのターゲットチャンネル信号であり、第2のチャンネル信号は、現在のフレームのステレオ信号内にあり且つ前のフレームのターゲットチャンネル信号と同じチャンネル上にある信号である、処理ユニット1602と
を含む。
任意選択で、処理ユニット1602は、
遅延回復処理の後の現在のフレームの第1のチャンネル信号を取得するために、現在のフレームの第1のチャンネル信号内の第3の処理長の信号を、第3のアライメント処理長の信号に伸張するように具体的に構成され、
第3の処理長は、現在のフレームのチャンネル間時間差及び第3のアライメント処理長に基づいて決定され、第3の処理長は、第3のアライメント処理長未満である。
任意選択で、第3の処理長は、第3のアライメント処理長と現在のフレームのチャンネル間時間差の絶対値との間の差である。
任意選択で、第3の処理長の信号の開始点は、第3のアライメント処理長の信号の開始点の後に位置し、第3の処理長の信号の開始点と第3のアライメント処理長の信号の開始点との間の長さは、現在のフレームのチャンネル間時間差の絶対値である。
任意選択で、第3の処理長の信号の開始点は、現在のフレームの第1のチャンネル信号の開始点に或いは現在のフレームの第1のチャンネル信号の開始点の後に位置し、第3の処理長の信号の開始点と現在のフレームの第1のチャンネル信号の終了点との間の長さは、第3のアライメント処理長と現在のフレームのチャンネル間時間差の絶対値との間の差以上である。
任意選択で、処理ユニット1602は、
遅延回復処理の後の現在のフレームの第2のチャンネル信号を取得するために、現在のフレームの第2のチャンネル信号内の第4の処理長の信号を、第4のアライメント処理長の信号に圧縮するように具体的に構成され、
第4の処理長は、前のフレームのチャンネル間時間差及び第4のアライメント処理長に基づいて決定され、第4の処理長は、第4のアライメント処理長よりも大きい。
任意選択で、第4の処理長は、前のフレームのチャンネル間時間差の絶対値と第4のアライメント処理長との和である。
任意選択で、第4の処理長の信号の開始点は、第4のアライメント処理長の信号の開始点の前に位置し、第4の処理長の信号の開始点と第4のアライメント処理長の信号の開始点との間の長さは、前のフレームのチャンネル間時間差の絶対値である。
任意選択で、第4のアライメント処理長の信号の開始点は、現在のフレームの第2のチャンネル信号の開始点に或いは現在のフレームの第2のチャンネル信号の開始点の後に位置し、第4のアライメント処理長の信号の開始点と現在のフレームの第2のチャンネル信号の終了点との間の長さは、第4のアライメント処理長以上である。
任意選択で、第4のアライメント処理長の信号の開始点と現在のフレームの第2のチャンネル信号の開始点との間の長さは、第4のプリセット長に等しく、第3のアライメント処理長の信号の開始点と現在のフレームの第1のチャンネル信号の開始点との間の長さは、第4のプリセット長と第4のアライメント処理長との和に等しい。
任意選択で、第3のアライメント処理長は、現在のフレームのフレーム長以下であり、第3のアライメント処理長は、プリセット長であるか、或いは、第3のアライメント処理長は、以下の式を満たし、
L2_next_targetは第3のアライメント処理長であり、cur_itdは現在のフレームのチャンネル間時間差であり、prev_itdは前のフレームのチャンネル間時間差であり、Lは遅延アライメント処理の処理長である。
任意選択で、第4のアライメント処理長は、現在のフレームのフレーム長以下であり、第4のアライメント処理長は、プリセット長であるか、或いは、第4のアライメント処理長は、以下の式を満たし、
L2_pre_targetは第4のアライメント処理長であり、cur_itdは現在のフレームのチャンネル間時間差であり、prev_itdは前のフレームのチャンネル間時間差であり、Lは遅延アライメント処理の処理長である。
任意選択で、遅延アライメント処理の処理長は、現在のフレームのフレーム長以下であり、遅延アライメント処理の処理長は、プリセット長であるか、或いは、遅延アライメント処理の処理長は、以下の式を満たし、
Lは遅延アライメント処理の処理長であり、MAX_DELAY_CHANGEは隣接するフレームのチャンネル間時間差の間の最大差分値であり、L_initは遅延アライメント処理のプリセット処理長である。
同じ技術的概念に基づいて、この出願の実施形態は、ステレオ信号処理装置を更に提供し、ステレオ信号処理装置は、図8における方法の手順を実行してもよい。
図17に示すように、この出願の実施形態は、ステレオ信号処理装置の概略構造図を提供する。
図17を参照すると、ステレオ信号処理装置1700は、プロセッサ1701及びメモリ1702を含む。
メモリ1702は実行可能命令を記憶し、実行可能命令は、プロセッサ1701に対して、以下のステップ、すなわち、
受信したコードストリームに基づいて現在のフレームのチャンネル間時間差を決定するステップであり、現在のフレームのチャンネル間時間差は、現在のフレームの第1のチャンネル信号と現在のフレームの第2のチャンネル信号との間の時間差である、ステップと、
現在のフレームのチャンネル間時間差の符号が、現在のフレームの前のフレームのチャンネル間時間差の符号と異なる場合、現在のフレームのチャンネル間時間差に基づいて現在のフレームの第1のチャンネル信号に対して遅延回復処理を実行し、前のフレームのチャンネル間時間差に基づいて現在のフレームの第2のチャンネル信号に対して遅延回復処理を実行するステップであり、第1のチャンネル信号は、現在のフレームのターゲットチャンネル信号であり、第2のチャンネル信号は、前のフレームのターゲットチャンネル信号と同じチャンネル上にある、ステップと
を実行するように命令するために使用される。
任意選択で、実行可能命令は、現在のフレームのチャンネル間時間差に基づいて現在のフレームの第1のチャンネル信号に対して遅延回復処理を実行するとき、プロセッサ1701に対して、以下のステップ、すなわち、
遅延回復処理の後の現在のフレームの第1のチャンネル信号を取得するために、現在のフレームの第1のチャンネル信号内の第3の処理長の信号を、第3のアライメント処理長の信号に伸張するステップであり、
第3の処理長は、現在のフレームのチャンネル間時間差及び第3のアライメント処理長に基づいて決定され、第3の処理長は、第3のアライメント処理長未満である、ステップ
を実行するように命令するために使用される。
任意選択で、第3の処理長は、第3のアライメント処理長と現在のフレームのチャンネル間時間差の絶対値との間の差である。
任意選択で、第3の処理長の信号の開始点は、第3のアライメント処理長の信号の開始点の後に位置し、第3の処理長の信号の開始点と第3のアライメント処理長の信号の開始点との間の長さは、現在のフレームのチャンネル間時間差の絶対値である。
任意選択で、第3の処理長の信号の開始点は、現在のフレームの第1のチャンネル信号の開始点に或いは現在のフレームの第1のチャンネル信号の開始点の後に位置し、第3の処理長の信号の開始点と現在のフレームの第1のチャンネル信号の終了点との間の長さは、第3のアライメント処理長と現在のフレームのチャンネル間時間差の絶対値との間の差以上である。
任意選択で、実行可能命令は、前のフレームのチャンネル間時間差に基づいて現在のフレームの第2のチャンネル信号に対して遅延回復処理を実行するとき、プロセッサ1701に対して、以下のステップ、すなわち、
遅延回復処理の後の現在のフレームの第2のチャンネル信号を取得するために、現在のフレームの第2のチャンネル信号内の第4の処理長の信号を、第4のアライメント処理長の信号に圧縮するステップであり、
第4の処理長は、前のフレームのチャンネル間時間差及び第4のアライメント処理長に基づいて決定され、第4の処理長は、第4のアライメント処理長よりも大きい、ステップ
を実行するように命令するために使用される。
任意選択で、第4の処理長は、前のフレームのチャンネル間時間差の絶対値と第4のアライメント処理長との和である。
任意選択で、第4の処理長の信号の開始点は、第4のアライメント処理長の信号の開始点の前に位置し、第4の処理長の信号の開始点と第4のアライメント処理長の信号の開始点との間の長さは、前のフレームのチャンネル間時間差の絶対値である。
任意選択で、第4のアライメント処理長の信号の開始点は、現在のフレームの第2のチャンネル信号の開始点に或いは現在のフレームの第2のチャンネル信号の開始点の後に位置し、第4のアライメント処理長の信号の開始点と現在のフレームの第2のチャンネル信号の終了点との間の長さは、第4のアライメント処理長以上である。
任意選択で、第4のアライメント処理長の信号の開始点と現在のフレームの第2のチャンネル信号の開始点との間の長さは、第4のプリセット長に等しく、第3のアライメント処理長の信号の開始点と現在のフレームの第1のチャンネル信号の開始点との間の長さは、第4のプリセット長と第4のアライメント処理長との和に等しい。
この出願の実施形態は、上記のプロセッサにより実行される必要があるコンピュータソフトウェア命令を記憶するように構成されたコンピュータ読み取り可能記憶媒体を更に提供する。コンピュータソフトウェア命令は、上記のプロセッサにより実行される必要があるプログラムを含む。
当業者は、この出願の実施形態が、方法、システム又はコンピュータプログラムプロダクトとして提供されてもよいことを理解するべきである。したがって、この出願は、ハードウェアのみの実施形態、ソフトウェアのみの実施形態、又はソフトウェアとハードウェアとの組み合わせを有する実施形態の形式を使用してもよい。さらに、この出願は、コンピュータ使用可能プログラムコードを含む1つ以上のコンピュータ使用可能記憶媒体(ディスクメモリ、光メモリ等を含むが、これらに限定されない)上に実現されるコンピュータプログラムプロダクトの形式を使用してもよい。
この出願は、この出願による方法、デバイス(システム)及びコンピュータプログラムプロダクトのフローチャート及び/又はブロック図を参照して記載されている。コンピュータプログラム命令は、フローチャート及び/又はブロック図内の各プロセス及び/又は各ブロックと、フローチャート及び/又はブロック図内のプロセス及び/又はブロックの組み合わせとを実現するために使用されてもよいことが理解されるべきである。これらのコンピュータプログラム命令は、汎用コンピュータ、専用コンピュータ、埋め込みプロセッサ、又はマシンを生成するためのいずれかの他のプログラム可能データ処理デバイスのプロセッサに提供されてもよく、それにより、コンピュータ又はいずれかの他のプログラム可能データ処理デバイスのプロセッサにより実行される命令は、フローチャート内の1つ以上のプロセス及び/又はブロック図内の1つ以上のブロックにおいて特定の機能を実現するための装置を生成する。
これらのコンピュータプログラム命令は、コンピュータ又はいずれかの他のプログラム可能データ処理デバイスに対して特定の方式で動作するように命令できるコンピュータ読み取り可能メモリに記憶されてもよく、それにより、コンピュータ読み取り可能メモリに記憶された命令は、命令装置を含むアーチファクトを生成する。命令装置は、フローチャート内の1つ以上のプロセス及び/又はブロック図内の1つ以上のブロックにおける特定の機能を実現する。
明らかに、当業者は、この出願の範囲から逸脱することなく、この出願に対して様々な修正及び変更を行うことができる。この出願は、特許請求の範囲により規定される保護の範囲内にあることを条件として、これらの修正及び変更をカバーすることを意図する。