HUANG et al.: STEGANOGRAPHY INTEGRATION INTO A LOW-BIT RATE SPEECH CODEC 1867
the first two subframes and the other for the last two. The open
loop pitch period e sti m at ion,
, is computed using the per-
ceptually weighted speech
. A cro s s corre lati on criter ion ,
namely
, calculated by using the maxim ization method
[13], is used to determine the pitch period, as shown in (1).
(1)
The index
which maximizes the cross correlation, ,
is selected as the open loop pitch estim a tio n f or th e a pp ropriate
two subf rames. Wh ile searching for the best index, preference is
given to smaller pitch periods to avoid choosing pitch m ultiples.
Maximums of
are searched for beginning with .
For every maximum
found, its value is compared to the
best previous maximum found ,
. The following pseudo
code shows how it works:
if
then (if
then (select , )
)
else (if
then (select , )
)
Using the pitch period estimation,
, a closed loop pitch
predictor is com pu ted. The pitch predictor in G.723.1 is a
fifth order pitch predictor. The p itch predicti on contribu tion
is treated as a convention al adaptive codebo ok contrib ution.
For subframes 0 and 2, the closed loop pitch lag is selected
from around the appropriate open loop pitch lag in the range of
. For subfram es 1 and 3, the closed loop pitch lag is coded
differentially usin g 2 bits and may differ from the previous
subframe lag only by
,0, or [10].
IV. P
ITCH PERIOD PREDICTION-BASED STEGANOGRAPHY
ALGORITHM
A. Embeddin g Algorithm
In the process of G.723.1 encoding, th e open-loop pitch
estimation is cond ucted first, followed by closed-loop pitch
prediction. The open-loop p itch estimation computes the
open-loop pitch period
of a fram e of speech signal
. For each fram e, two p itch periods
are computed by using the first two subframes and the last
two subframes, respectively. The method for computing the
open-loop pitch period is described below.
First, a cross correlation criterion
is computed by using
(1), and then it searches for t he open-loop pitch following the
procedures below [13]:
1) Suppose
, , ;
2) Using (1), compute
.If
(2)
and
(3)
then
,and .
3) Set
,if , return to 2), otherwise stop.
Having obtained the pitch period
of a frame of speech
signal
, search for the closed-loop pitch
period and embed information.
The closed-loop pitch period of a subframe is defined by
,
, 1, 2, 3, and its open-loop pitch period is ,
, 1, representing the open-loop pitch periods of the first two
subframes and the last two subframes, respectively. Adjusting
yields
(4)
The
closed-loop pitch period
is assigned a value close
t
o the op en- loo p pitch period
.The values for odd
subframes and for even subframes are obtained from different
rangesasshownin(5).
(5)
The minimum value of
is 17, and its maximum is 143. The
number of
is equal to the number of elements in ,denoting
by
. represents the th element in ,
.
The pitch prediction contribution is treated as a con vent ion a l
adaptive codebook contr ibution. For subframes 0 and 2, the
closed loop pitch lag is selected around the appropriate open
loop pitch lag in the range
and coded using 7 bits. For sub-
frames1and3,theclosedlooppitch lag is coded differentially
using 2 bits and may differ from the previous subframe lag only
by
,0, or [13]. The quantized and d ecoded pitch lag
values are referred to as
from this point on. The pitch pre-
dictor gains are vector quan tized using two co debo oks with 85
or 170 entries for the high bit rate and 170 entries f or the low
bit rate. The 170 entry codebookisthesameforbothrates.For
the high rate, if
is less than 58 for s ubfram e s 0 and 1 or if
is less than 58 for subframes 2 and 3, then the 85 entry code-
book is used for the pitch gain quantization. Other w ise, the pitch
gain is quantized using the 170 entry cod eboo k. We studied the
pitch distribution probabilities of closed-loo p pitch perio d of un-
touched G.723.1 VoIP speeches, and Fig. 1 shows the pitch dis-
tribution probability results for fo ur types of untouched G.723.1
VoIP speeches, each with 250 samples.