1.简要介绍
本文简要介绍基于变长码的标量量化。上篇研究了在给定的重构电平K的情况下,将失真降至的量化器的设计,同时有一个前提:假设所有重构level
s
i
′
s_i^{'}
si′都用相同长度的码字,为定长编码。
现在我们结合变长码γ来考虑量化器的设计。此时此刻,我们对每一个特定的映射
s
i
′
s_i^{'}
si′赋给的码字长度为:
l
‾
(
s
i
′
)
=
∣
γ
(
s
i
′
)
∣
\overline{l}(s_i^{'})=|\gamma(s_i^{'})|
l(si′)=∣γ(si′)∣。对于编码器来说,我们可以随意采用,比如Huffman编码,此时平均码字长度为:
R
=
∑
i
=
0
N
−
1
p
(
s
i
′
)
×
l
‾
(
s
i
′
)
R=\sum_{i=0}^{N-1}p(s_i^{'})\times \overline{l}(s_i^{'})
R=i=0∑N−1p(si′)×l(si′)
偏差Distortion(D)同上一篇的定义。如果我们用Huffman这个变长编码,
l
‾
(
s
i
′
)
\overline{l}(s_i^{'})
l(si′)是会随着
p
(
s
i
′
)
p(s_i^{'})
p(si′)改变的,所以这个时候我们采用一种受码率约束的损失来衡量效果。形式如下:
m
i
n
D
s
u
b
j
e
c
t
t
o
R
≤
R
m
a
x
min D \ subject\ to \ R \le R_{max}
minD subject to R≤Rmax
or
m
i
n
R
s
u
b
j
e
c
t
t
o
D
≤
D
m
a
x
min R \ subject\ to \ D \le D_{max}
minR subject to D≤Dmax
R
m
a
x
R_{max}
Rmax和
D
m
a
x
D_{max}
Dmax分别是给定的最大速率和最大值失真。这种约束最小化问题可以是表述为拉格朗日泛函的无约束最小化:
J
=
D
+
λ
R
=
E
{
d
1
(
S
,
Q
(
S
)
)
}
+
λ
E
{
l
‾
(
Q
(
S
)
)
}
J=D+\lambda R=E\{d_1(S,Q(S))\}+ \lambda E\{\overline{l}(Q(S))\}
J=D+λR=E{d1(S,Q(S))}+λE{l(Q(S))}
如果有一个拉格朗日参数
λ
λ
λ满足一个特定的速率
R
m
a
x
R_{max}
Rmax(或特定失真Dmax),对应的失真D(或速率R)是约束优化问题的一个解。
2.求解 s i ′ s_i^{'} si′ with constant u i u_i ui
为了推导出类似于量化器的必要条件,在定长编码的设计中,我们首先假设给定了各个
u
i
u_i
ui是给定的。因为速率R与reconstruction level
s
i
′
s_i^{'}
si′,上述最小化即可等价于最小化D。(如果我们采用Huffman算法来编码的话,
l
‾
(
s
i
′
)
\overline{l}(s_i^{'})
l(si′)通常只与对应区间的概率有关,而
p
(
s
i
′
p(s_i^{'}
p(si′通常情况下只与
u
i
u_i
ui有关。)此时,对于
s
i
′
s_i^{'}
si′的求解同上篇求解:
D
=
E
[
f
(
s
i
n
−
s
o
u
t
)
]
=
∑
i
=
1
N
∫
−
u
i
u
i
+
1
f
(
s
−
s
i
′
)
p
(
x
)
d
x
+
∑
i
=
0
N
−
1
p
(
s
i
′
)
l
‾
(
s
i
′
)
\begin{aligned} D & = E[f(s_{in}-s_{out})] \\ & = \sum_{i=1}^{N} \int_{-u_i}^{u_{i+1}} f(s-s_i^{'})\ p(x)\ dx +\sum_{i=0}^{N-1}p(s_i^{'})\overline{l}(s_i^{'})\\ \end{aligned}
D=E[f(sin−sout)]=i=1∑N∫−uiui+1f(s−si′) p(x) dx+i=0∑N−1p(si′)l(si′)
x
N
+
1
=
∞
,
x
1
=
−
∞
x_{N+1}=\infty,x_1=-\infty
xN+1=∞,x1=−∞
∂
D
∂
s
i
′
=
−
∫
u
i
u
i
+
1
f
′
(
s
−
s
i
′
)
p
(
x
)
d
x
=
0
i
=
1
,
.
.
.
,
N
(
2
)
\begin{aligned} \frac{\partial D}{\partial s_i^{'}} = -\int_{u_i}^{u_{i+1}} f^{'}(s-s_i^{'})\ p(x)\ dx=0 \\ i=1,...,N\ \ \ \ \ \ \ (2) \end{aligned}
∂si′∂D=−∫uiui+1f′(s−si′) p(x) dx=0i=1,...,N (2)
函数
f
(
s
)
f(s)
f(s)我们采用MSE。
方法一:
E
{
(
S
−
s
i
′
)
2
}
=
E
{
(
S
−
E
(
s
)
+
E
(
s
)
−
s
i
′
)
2
}
=
E
{
(
S
−
E
(
s
)
)
)
2
}
+
(
E
(
s
)
−
s
i
′
)
2
≥
E
{
(
S
−
E
(
s
)
)
)
2
}
\begin{aligned} & E \{ (S-s_i{'})^2 \} \\ & =E\{(S-E(s)+E(s)-s_i{'})^2\} \\ & =E\{(S-E(s)))^2\}+(E(s)-s_i{'})^2 \\ & \ge E\{(S-E(s)))^2\} \end{aligned}
E{(S−si′)2}=E{(S−E(s)+E(s)−si′)2}=E{(S−E(s)))2}+(E(s)−si′)2≥E{(S−E(s)))2}
当等号成立时,
E
{
S
}
=
=
s
i
′
E\{S\} == s_i^{'}
E{S}==si′,即:
s
i
′
=
E
{
S
}
=
∫
u
i
u
i
+
1
s
f
(
s
)
d
s
∫
u
i
u
i
+
1
f
(
s
)
d
s
s_i^{'}=E\{S\}=\frac{\int_{u_i}^{u_{i+1}}sf(s)\ ds}{\int_{u_i}^{u_{i+1}}f(s)\ ds}
si′=E{S}=∫uiui+1f(s) ds∫uiui+1sf(s) ds
方法二:
D
=
E
{
f
(
S
,
s
i
′
)
}
=
∫
u
i
u
i
+
1
(
s
−
s
i
′
)
2
f
(
s
)
d
s
=
∫
u
i
u
i
+
1
s
2
f
(
s
)
d
s
‾
−
∫
u
i
u
i
+
1
2
s
s
i
′
f
(
s
)
d
s
+
∫
u
i
u
i
+
1
s
i
′
2
f
(
s
)
d
s
‾
\begin{aligned} D&= E\{f(S,s_i^{'})\}=\int_{u_i}^{u_{i+1}}(s-s_i^{'})^2f(s)\ ds \\ & = \underline{\int_{u_i}^{u_{i+1}}s^2f(s)\ ds}-\underline{\int_{u_i}^{u_{i+1}}2ss_i^{'}f(s)\ ds+\int_{u_i}^{u_{i+1}}s_i^{'2}f(s)\ ds } \end{aligned}
D=E{f(S,si′)}=∫uiui+1(s−si′)2f(s) ds=∫uiui+1s2f(s) ds−∫uiui+12ssi′f(s) ds+∫uiui+1si′2f(s) ds
上述第一项为定值,所需对于D最小化来说,我们需要将第二项最小化,即:
M
i
n
s
i
′
∫
u
i
u
i
+
1
s
i
′
2
f
(
s
)
d
s
−
∫
u
i
u
i
+
1
2
s
i
′
s
f
(
s
)
d
s
Min_{s_i^{'}}\ \int_{u_i}^{u_{i+1}}s_i^{'2}f(s)\ ds-\int_{u_i}^{u_{i+1}}2s_i^{'}sf(s)\ ds
Minsi′ ∫uiui+1si′2f(s) ds−∫uiui+12si′sf(s) ds
为了方便,我们设:
x
=
∫
u
i
u
i
+
1
f
(
s
)
d
s
,
y
=
∫
u
i
u
i
+
1
s
f
(
s
)
d
s
x=\int_{u_i}^{u_{i+1}}f(s)\ ds, y=\int_{u_i}^{u_{i+1}}sf(s)\ ds
x=∫uiui+1f(s) ds,y=∫uiui+1sf(s) ds
D = x s i ′ 2 − 2 y s i ′ D=xs_i^{'2}-2ys_i^{'} D=xsi′2−2ysi′
∂
D
∂
s
i
′
=
2
x
s
i
′
−
2
y
=
0
\frac{\partial D}{\partial s_i^{'}}=2xs_i^{'}-2y=0
∂si′∂D=2xsi′−2y=0
故:
s
i
′
=
y
x
s
i
′
=
E
{
S
}
=
∫
u
i
u
i
+
1
s
f
(
s
)
d
s
∫
u
i
u
i
+
1
f
(
s
)
d
s
\begin{aligned} & s_i^{'}=\frac{y}{x} \\ &s_i^{'}=E\{S\}=\frac{\int_{u_i}^{u_{i+1}}sf(s)\ ds}{\int_{u_i}^{u_{i+1}}f(s)\ ds} \end{aligned}
si′=xysi′=E{S}=∫uiui+1f(s) ds∫uiui+1sf(s) ds
3.求解 u i u_i ui with constant s i ′ , l ‾ ( s i ′ ) s_i^{'},\overline{l}(s_i^{'}) si′,l(si′)
为求解
u
i
u_i
ui,我们现在假设
s
i
′
s_i^{'}
si′以及平均码字长度
l
‾
(
s
i
′
)
\overline{l}(s_i^{'})
l(si′)是定值。因为不同的
u
i
u_i
ui会对
p
(
s
i
)
p(s_i^{})
p(si)产生影响,所以此时我们的最小化函数为:
D
=
E
[
f
(
s
i
n
−
s
o
u
t
)
]
+
∑
i
=
0
N
−
1
p
(
s
i
′
)
l
‾
(
s
i
′
)
=
∑
i
=
1
N
∫
u
i
u
i
+
1
(
s
−
s
i
′
)
2
f
(
x
)
d
x
+
∑
i
=
0
N
−
1
p
(
s
i
′
)
l
‾
(
s
i
′
)
w
h
e
r
e
p
(
s
i
′
)
=
∫
u
i
u
i
+
1
f
(
s
)
d
s
\begin{aligned} D & = E[f(s_{in}-s_{out})]+\sum_{i=0}^{N-1}p(s_i^{'})\overline{l}(s_i^{'}) \\ & = \sum_{i=1}^{N} \int_{u_i}^{u_{i+1}} (s-s_i^{'})^2\ f(x)\ dx +\sum_{i=0}^{N-1}p(s_i^{'})\overline{l}(s_i^{'})\\ \\ &where\ p(s_i^{'})=\int_{u_i}^{u_{i+1}}f(s)ds \end{aligned}
D=E[f(sin−sout)]+i=0∑N−1p(si′)l(si′)=i=1∑N∫uiui+1(s−si′)2 f(x) dx+i=0∑N−1p(si′)l(si′)where p(si′)=∫uiui+1f(s)ds
(
1
)
b
e
c
o
m
e
s
(
f
o
r
p
(
x
i
)
≠
0
)
f
(
u
i
−
s
i
−
1
′
)
+
λ
l
‾
(
s
i
−
1
′
)
=
f
(
u
i
−
s
i
′
)
+
λ
l
‾
(
s
i
′
)
i
=
2
,
.
.
.
,
N
(
3
)
\begin{aligned} (1)becomes (for\ p(x_i) \neq 0) \\ & f(u_i -s_{i-1}^{'})+\lambda \overline{l}(s_{i-1}^{'})=f(u_i-s_i^{'})+\lambda \overline{l}(s_{i}^{'}) & &i=2,...,N\ \ \ \ \ \ \ (3) \end{aligned}
(1)becomes(for p(xi)=0)f(ui−si−1′)+λl(si−1′)=f(ui−si′)+λl(si′)i=2,...,N (3)
下面我们来详细求解
u
i
u_i
ui:
我们首先定义以下:X=
p
(
s
i
−
1
′
)
l
‾
(
s
i
−
1
′
)
+
p
(
s
i
′
)
l
‾
(
s
i
′
)
p(s_{i-1}^{'})\overline{l}(s_{i-1}^{'})+p(s_i^{'})\overline{l}(s_i^{'})
p(si−1′)l(si−1′)+p(si′)l(si′)
∂
D
∂
u
i
=
∂
∂
u
i
{
无
关
项
+
∫
u
i
−
1
u
i
(
s
−
s
i
−
1
′
)
2
f
(
s
)
d
s
+
∫
u
i
u
i
+
1
(
s
−
s
i
′
)
2
f
(
s
)
d
s
+
p
(
s
i
−
1
′
)
l
‾
(
s
i
−
1
′
)
+
p
(
s
i
′
)
l
‾
(
s
i
′
)
}
=
∂
∂
u
i
{
无
关
项
+
∫
u
i
−
1
u
i
s
2
f
(
s
)
d
s
−
∫
u
i
−
1
u
i
2
s
s
i
−
1
′
f
(
s
)
d
s
+
∫
u
i
−
1
u
i
s
i
−
1
′
2
f
(
s
)
d
s
+
∫
u
i
u
i
+
1
s
2
f
(
s
)
d
s
−
∫
u
i
u
i
+
1
2
s
s
i
′
f
(
s
)
d
s
+
∫
u
i
u
i
+
1
s
i
′
2
f
(
s
)
d
s
+
X
}
=
∂
∂
u
i
{
无
关
项
−
∫
u
i
−
1
u
i
2
s
s
i
−
1
′
f
(
s
)
d
s
+
∫
u
i
−
1
u
i
s
i
−
1
′
2
f
(
s
)
d
s
−
∫
u
i
u
i
+
1
2
s
s
i
′
f
(
s
)
d
s
+
∫
u
i
u
i
+
1
s
i
′
2
f
(
s
)
d
s
+
X
}
=
∂
∂
u
i
{
无
关
项
−
∫
u
i
−
1
u
i
+
1
2
s
s
i
−
1
′
f
(
s
)
d
s
+
∫
u
i
−
1
u
i
+
1
s
i
−
1
′
2
f
(
s
)
d
s
−
∫
u
i
u
i
+
1
2
s
(
s
i
′
−
s
i
−
1
′
)
f
(
s
)
d
s
+
∫
u
i
u
i
+
1
(
s
i
′
2
−
s
i
−
1
′
2
)
f
(
s
)
d
s
}
=
∂
∂
u
i
{
无
关
项
−
(
s
i
′
−
s
i
−
1
′
)
F
1
(
s
)
∣
u
i
u
i
+
1
+
(
s
i
′
2
−
s
i
−
1
′
2
)
F
2
(
s
)
∣
u
i
u
i
+
1
=
2
(
s
i
′
−
s
i
−
1
′
)
u
i
f
(
u
i
)
−
(
s
i
′
2
−
s
i
−
1
′
2
)
f
(
u
i
)
+
p
′
(
s
i
−
1
′
)
l
‾
(
s
i
−
1
′
)
+
p
′
(
s
i
′
)
l
‾
(
s
i
′
)
=
(
s
i
′
−
s
i
−
1
′
)
f
(
u
i
)
{
2
u
i
−
(
s
i
′
+
s
i
−
1
′
)
+
f
(
s
i
−
1
′
)
l
‾
(
s
i
−
1
′
)
+
f
(
s
i
′
)
l
‾
(
s
i
′
)
}
=
0
=
=
>
u
i
=
s
i
′
+
s
i
−
1
′
2
+
1
2
⋅
l
‾
(
s
i
′
)
−
l
‾
(
s
i
−
1
′
)
s
i
′
−
s
i
−
1
′
\begin{aligned} \frac{\partial D}{\partial u_i}&=\frac{\partial }{\partial u_i}\{无关项+\int_{u_i-1}^{u_{i}}(s-s_{i-1}^{'})^2f(s)\ ds+\int_{u_i}^{u_{i+1}}(s-s_i^{'})^2f(s)\ ds +p(s_{i-1}^{'})\overline{l}(s_{i-1}^{'})+p(s_i^{'})\overline{l}(s_i^{'})\} \\ = \frac{\partial }{\partial u_i}\{无关项&+\int_{u_i-1}^{u_{i}}s^2f(s)\ ds -\int_{u_i-1}^{u_{i}}2ss_{i-1}^{'}f(s)\ ds +\int_{u_i-1}^{u_{i}}s_{i-1}^{'2}f(s)\ ds \\ &+\int_{u_i}^{u_{i+1}}s^2f(s)\ ds -\int_{u_i}^{u_{i+1}}2ss_{i}^{'}f(s)\ ds +\int_{u_i}^{u_{i+1}}s_{i}^{'2}f(s)\ ds +X \} \\ =\frac{\partial }{\partial u_i}\{无关项&-\int_{u_i-1}^{u_{i}}2ss_{i-1}^{'}f(s)\ ds +\int_{u_i-1}^{u_{i}}s_{i-1}^{'2}f(s)\ ds \\ &-\int_{u_i}^{u_{i+1}}2ss_{i}^{'}f(s)\ ds +\int_{u_i}^{u_{i+1}}s_{i}^{'2}f(s)\ ds +X\} \\ =\frac{\partial }{\partial u_i}\{无关项&-\int_{u_i-1}^{u_{i+1}}2ss_{i-1}^{'}f(s)\ ds +\int_{u_i-1}^{u_{i+1}}s_{i-1}^{'2}f(s)\ ds \\ &-\int_{u_i}^{u_{i+1}}2s(s_{i}^{'}-s_{i-1}^{'})f(s)\ ds +\int_{u_i}^{u_{i+1}}(s_{i}^{'2}-s_{i-1}^{'2})f(s)\ ds \} \\ &=\frac{\partial }{\partial u_i}\{无关项-(s_{i}^{'}-s_{i-1}^{'})F_1(s)|_{u_i}^{u_{i+1}}+(s_{i}^{'2}-s_{i-1}^{'2})F_2(s)|_{u_i}^{u_{i+1}} \\ &=2(s_{i}^{'}-s_{i-1}^{'})u_if(u_i)-(s_{i}^{'2}-s_{i-1}^{'2})f(u_i) +p^{'}(s_{i-1}^{'})\overline{l}(s_{i-1}^{'})+p^{'}(s_i^{'})\overline{l}(s_i^{'})\\ &=(s_{i}^{'}-s_{i-1}^{'})f(u_i)\{2u_i-(s_{i}^{'}+s_{i-1}^{'})+f(s_{i-1}^{'})\overline{l}(s_{i-1}^{'})+f(s_i^{'})\overline{l}(s_i^{'})\}=0 \\ &==>u_i=\frac{s_{i}^{'}+s_{i-1}^{'}}{2}+\frac{1}{2}\cdot \frac{\overline{l}(s_i^{'})-\overline{l}(s_{i-1}^{'})}{s_i^{'}-s_{i-1}^{'}} \end{aligned}
∂ui∂D=∂ui∂{无关项=∂ui∂{无关项=∂ui∂{无关项=∂ui∂{无关项+∫ui−1ui(s−si−1′)2f(s) ds+∫uiui+1(s−si′)2f(s) ds+p(si−1′)l(si−1′)+p(si′)l(si′)}+∫ui−1uis2f(s) ds−∫ui−1ui2ssi−1′f(s) ds+∫ui−1uisi−1′2f(s) ds+∫uiui+1s2f(s) ds−∫uiui+12ssi′f(s) ds+∫uiui+1si′2f(s) ds+X}−∫ui−1ui2ssi−1′f(s) ds+∫ui−1uisi−1′2f(s) ds−∫uiui+12ssi′f(s) ds+∫uiui+1si′2f(s) ds+X}−∫ui−1ui+12ssi−1′f(s) ds+∫ui−1ui+1si−1′2f(s) ds−∫uiui+12s(si′−si−1′)f(s) ds+∫uiui+1(si′2−si−1′2)f(s) ds}=∂ui∂{无关项−(si′−si−1′)F1(s)∣uiui+1+(si′2−si−1′2)F2(s)∣uiui+1=2(si′−si−1′)uif(ui)−(si′2−si−1′2)f(ui)+p′(si−1′)l(si−1′)+p′(si′)l(si′)=(si′−si−1′)f(ui){2ui−(si′+si−1′)+f(si−1′)l(si−1′)+f(si′)l(si′)}=0==>ui=2si′+si−1′+21⋅si′−si−1′l(si′)−l(si−1′)
4.例子
下图展示了一个均值为零,方差为1的高斯分布的迭代过程。由第二部分,在码率的限制下我们的
u
i
u_i
ui的迭代表达式为:
u
i
=
s
i
′
+
s
i
−
1
′
2
+
1
2
⋅
l
‾
(
s
i
′
)
−
l
‾
(
s
i
−
1
′
)
s
i
′
−
s
i
−
1
′
u_i=\frac{s_{i}^{'}+s_{i-1}^{'}}{2}+\frac{1}{2}\cdot \frac{\overline{l}(s_i^{'})-\overline{l}(s_{i-1}^{'})}{s_i^{'}-s_{i-1}^{'}}
ui=2si′+si−1′+21⋅si′−si−1′l(si′)−l(si−1′)
其结果是决策阈值
u
i
u_i
ui的改变从两个重建level的均值向间隔码字长度长的方向平移,即使码字长度长的
s
i
′
s_i^{'}
si′分配的概率较小,从而减少平均码率。
也就是说,
u
N
/
2
u_{N/2}
uN/2越接近于零(对于0附近概率密度较大的函数),得到的distortion越小,此时,各个
p
(
s
i
′
)
p(s_i^{'})
p(si′)的概率越接近,但此时所需要的entropy也越大;在相应的拉格朗日参数作用下,将
u
i
u_i
ui想
s
i
+
1
′
s_{i+1}^{'}
si+1′偏,D和拉格朗日参数
λ
\lambda
λ持相反的作用。
上图左侧,划分的间隔较多,所以一开始初始化的
u
i
,
s
i
′
u_i,s_i^{'}
ui,si′都较小,所以
λ
\lambda
λ参数起的作用较大,向外偏;针对有图来说的话,划分的间隔较少,初试的
u
i
,
s
i
′
u_i,s_i^{'}
ui,si′都较大,所以一开始D起的作用较大,当
u
i
u_i
ui减小到一定值之后,粉红色区域的概率很容易就大于绿色的区域,所以此时distortion D和拉格朗日参数
λ
\lambda
λ对
u
i
u_i
ui起的作用都相同,都是使得
u
i
u_i
ui趋向于0。
博客园
Reference:Source coding