G.718
は
ITU-T
が?告した??域の音?とオ?ディオ用の
コ?デック
で、8 k
bps
~32 k
bps
の?範?の
ビットレ?ト
をサポ?トし、
フレ?ム
消失に?い特?がある。
テレビ?議
システムや
VoIP
用に使うことができる。
G.718 の正式な名?は
"Frame error robust narrow-band and wideband embedded variable bit-rate coding of speech and audio from 8-32 kbit/s"
(フレ?ムエラ?に?い??域と??域のエンベデッド可?ビットレ?ト音?/オ?ディオ用 8-32 kbit/s 符?化方式)である。
?要
[
編集
]
G.718 は複?の
音?符?化
方式を階層的に組み合わせることで
ビットレ?ト
と
?域幅
の柔軟性を向上させたものである。同?のアイデアを用いたものとして
G.729.1
がある。
コアとなる音?符?化アルゴリズムとして
CELP
の一種の
ACELP
を使用する。
??域版と??域版があり、入出力の
サンプリング周波?
は??域の場合 16 kHz、??域の場合 8 kHz あるいは 16 kHz である。
コア部分の性能がよいため、G.718 ??域
コ?デック
の 8 k
bps
での音質は
G.722.2
の 12.65 kbit/s の場合と等?で、G.718 ??域
コ?デック
の8 k
bps
での音質は
G.722.2
の 11.8 kbit/s の場合に等しい
[1]
。
G.718 がサポ?トする 8、12、16、24、32 k
bps
までの 5 種類の
ビットレ?ト
に??して、
コ?デック
が出力するビット列は 5 階層の埋め?み構造になっている。符?化したビット列から必要な階層のみを容易に取り出すことができる。
ビットレ?ト
8 kbpsに??するのがコア層となる第1層で、
ACELP
を符?化アルゴリズムとして用いる。第2層は 4 kbpsの
ACELP
?張層である。
第3層から第5層までは
MDCT
(修正離散コサイン?換)を用いた符?化アルゴリズムを用い、第2層までで符?化できなかった情報の符?化を行う。第3層には通信路で
フレ?ム
が消失した場合の音質低下を避けるための補助情報も格納される。第3層は 4 kbps 、それ以上は 8 kbps ?位で情報が?えていき、それに?じて
音質
が向上する。
それぞれの階層と使用する技術を以下にまとめる
[1]
。??域版では第1層と第2層しか??されない。
G.729.1 の全?構成
階層
|
技術
|
サンプリング周波?
|
ビットレ?ト
|
?明
|
1
|
ACELP
(algebraic CELP)
|
12.8 kHz
|
8 kbps
|
コア層 (
VMR-WB
仕?がベ?ス)
|
2
|
ACELP
?張層
|
12.8 kHz
|
+4 kbps
|
コア層の追加部分
|
3
|
MDCT
|
12.8/16 kHz
|
+4 kbps
|
フレ?ム消失時用情報 + 付加情報
|
4-5
|
MDCT
|
16 kHz
|
+8 kbps?位
|
付加情報
|
G.718 の特?を以下にまとめる。
- 音?
と音?など一般的なオ?ディオ信?の?方をサポ?ト
- 入出力の
サンプリング周波?
は??域の場合 16 kHz、??域の場合 8 kHz あるいは 16 kHz
- 8~32 k
bps
までの 5 種類の
ビットレ?ト
(8、12、16、24、32 k
bps
)
- 5 階層の埋め?み構造ビットストリ?ム
- 8 kbpsのコア層は
ACELP
を使用
- 20 msの
フレ?ム
長、符?化?延 42.875 ms(??域の場合)、43.875 ms(??域の場合)
- 複?の
音?符?化
アルゴリズム
の階層的組み合わせ
また、G.718 には同?の目的に使われる
ITU-T
G.722.2
(
AMR-WB
) との
相互運用性
のために、オプションとして
G.722.2
(12.65 kbps) をサポ?トすることができる
[1]
。その場合は第1層と第2層を
G.722.2
mode 2 (12.65 kbps) と置き換える。
G.718 の符?化デ?タを
Real-time Transport Protocol
(RTP)を用いインタ?ネット上で送るためのデ?タ形式は、
IETF
RFC
のドラフトが提案されている。
[2]
。
アルゴリズム
[
編集
]
G.718 は、?存の??域
音?符?化
アルゴリズム
をコアとする複?のアルゴリズムの階層的組み合わせからなる。
コアのアルゴリズムで入力信?の符?化を行い、符?化できなかった?差部分を他のアルゴリズムを使い付加情報として追加する。
第1層
[
編集
]
コアとなる第1層は
3GPP2
で定義された
第三世代携?電話
の??域音?符?化
コ?デック
VMR-WB
の仕?をベ?スにしたもので
[1]
、
音?符?化
の代表的なアルゴリズムである
ACELP
(
algebraic code excited linear prediction
)を使う。コア部分は
サンプリング周波?
16 kHz の入力信?を 12.8 kHz に再サンプリングし、符?化?理を行う。
第1層では 20 ms の
フレ?ム
に?し以下の?理により符?化を行う。
- 12.8 kHz に
リサンプリング
、
ハイパスフィルタ
による
直流
成分除去などの前?理
- スペクトル
分析(音??間?出と
?音抑制
用)
- 入力が??域/??域かを?出
- スペクトル分析結果より音??間?出(
voice activity detection
)
- スペクトル分析結果より?音スペクトル推定
- 推定された?音スペクトルを用いて
?音抑制
- ACELP
のための
線形予測
係?の計算など
- ?感重み付けされた音?信?の計算
- オ?プンル?プ
でのピッチ周波?(音?波形の基本となる周波?)分析
- 背景?音スペクトルの推定値を更新
- 信?
フレ?ム
?容より?理モ?ドを選?
これらの?理を行った後、、信?
フレ?ム
の?容により以下の?理モ?ドのいずれかの?理により符?化を行う。
- unvoiced coding mode(
無?
符?化モ?ド)
- 無?音
の場合の?理
- voiced coding mode(
有?
符?化モ?ド)
- 周期的な繰り返しのある
有?音
の場合の?理
- transition coding mode(遷移符?化モ?ド)
- 有?音の開始時点の?理
- discontinuous transmission and comfort noise generation (DTX/CNG)(非連?送信とコンフォ?トノイズ生成)
- 無音時の無音デ?タ(
silence insertion descriptor
、SID)か NO_DATA フレ?ムの生成、
- まったくの無音を避けるため、デコ?ダ側での適切なレベルのバックグラウンドノイズ(コンフォ?トノイズ)生成
- generic coding mode(ジェネリック符?化モ?ド)
- 上記のいずれにも分類できない場合の?理
また、G.718 は
IPネットワ?ク
のような
パケット
ロスやパケット?延の多い環境での利用を想定しているため、これらによる
フレ?ム
消失時の音質低下を避けるための補助情報も同時に抽出する。これらの情報は第3層に格納され、必要に?じ復?時に使用される。
第2層
[
編集
]
コアの機能?張である第2層も
ACELP
を使用し 12.8 kHz でサンプリングされたフレ?ムに?し符?化?理を行う。第1層での符?化モ?ドやコ?ドブックの値を使い第1層で符?化できなかった?差信?を計算し、それを
ACELP
のコ?ドブックを使って符?化する。動作は第1層の符?化モ?ドにより異なるが、基本的には以下を行う。
- 12.8 kHz でサンプリングされた 6.4kHz 以下の信?成分について、元の信?と第1層で符?化した信?との?差を符?化
- AMR-WB
のアルゴリズムを使用し 6.4kHz~7kHz の信?成分を生成
第3層以上
[
編集
]
第3層以上の層は??域版でのみ使われ、
サンプリング周波?
は 16kHz である。
これらの層では、第2層までで符?化できなかった?差部分を
MDCT
を用いて
周波?領域
の係?に?換し、入力信?の性質と人間の
?感特性
に合わせてそれらを符?化する。
一般に、
音?
と
音?
ではその音の性質がかなり異なる。G.718 では、信?に音?成分が多いか音?成分が多いかを判定し、第3層と第4層で使われる符?化方法を切り替える。
音?/音?の判定には第2層以下で符?化できた信?と?際の入力信?との
周波?領域
での差を調べることで行う。第2層以下は
音?符?化
用のアルゴリズムを用いているため音?などを含む信?はうまく符?化ができず、?際の入力信?より符?化後の信?のほうがエネルギ?が大きくなる領域が多くなる。これを利用し符?化後のエネルギ?が大きくなる領域のエネルギ?の?和を求めることで判定を行う。
音?成分が多い場合、第3層と第3層では AVQ(
algebraic vector quantization
)と呼ばれる方法が使われる。
音?成分が多い場合、第3層では BS-SGC(
band-selective shape-gain vector quantization
)が、第4層は FPC(
factorial pulse coding
)と呼ばれる方法が使われる。
第5層では常に FPC(
factorial pulse coding
)が使われる。それ以下の層で符?化できなかった
周波?領域
での?差を符?化する。
第3層以上で使われる
MDCT
係?の符?化方式を以下の表にまとめる。
G.729.1 の第3層以上で使われる符?化方式
階層
|
符?化方式
|
?明
|
3
|
AVG
(
algebraic vector quantization
)
|
音?(voice)成分が多い場合
|
BS-SGC
(
band-selective shape-gain vector quantization
)
|
音?(music)成分が多い場合
|
4
|
AVG
(
algebraic vector quantization
)
|
音?(voice)成分が多い場合
|
FPC
(
factorial pulse coding
)
|
音?(music)成分が多い場合
|
5
|
FPC
(
factorial pulse coding
)
|
|
脚注
[
編集
]
- ^
a
b
c
d
ITU-T Recommendation G.718 (06/2008),
Frame error robust narrow-band and wideband embedded variable bit-rate coding of speech and audio from 8-32 kbit/s
. ITU-T, 2008.
- ^
IETF Network Working Group. RFC Draft
RTP payload format for G.718 speech/audio
. IETF. April, 2009.
?考文?
[
編集
]
- Jacob Benesty, M. M. Sondhi, Yiteng Huang (ed).
Springer Handbook of Speech Processing
. Springer, 2007.
ISBN 978-3540491255
.
- ITU-T Recommendation G.718 (06/2008),
Frame error robust narrow-band and wideband embedded variable bit-rate coding of speech and audio from 8-32 kbit/s
. ITU-T, 2008.
- IETF Network Working Group. RFC Draft
RTP payload format for G.718 speech/audio
. IETF. April, 2009.
?連項目
[
編集
]
外部リンク
[
編集
]