1. Introduction
Lossy source coding provides a high-efficiency method for data compression, which is useful for saving communication bandwidth and reducing hardware complexity in the physical layer [
1,
2,
3]. Conventionally, linear block codes, such as low-density parity-check (LDPC) codes, are employed for source and channel coding due to their good hardware realizability [
4,
5,
6]. The code matrices of linear block codes are different since the source coding aims to realize data compression and the channel coding is for error correction. However, this is not a hardware-friendly design in chip manufacturing. Recent works have embraced the principle of “duality”, which suggests repurposing the channel code as a source code and implements channel-decoding techniques for the lossy source coding [
7,
8]. Based on the principle of duality, the cost of chip manufacturing can be reduced by reusing the source and the channel coding modules in circuit implementation.
It has been demonstrated that LDPC code has a capacity-approaching property, and can be applied for channel coding with good error correction performance. The duality principle indicates that lossy compression based on LDPC code can also approach the rate–distortion limit of the binary source [
9,
10]. To simplify the parity-check matrix of the LDPC code, the protograph LDPC (P-LDPC) code is introduced to compress the binary sources with equal probability [
11]. Compared with the parity-check matrix of the LDPC code, the protomatrix of the P-LDPC code has lower encoding and decoding complexities [
12,
13,
14]. Referring to the duality principle, the belief propagation (BP) algorithm, which achieves good decoding performance, is used to implement the lossy source coding. For instance, the reinforced BP (RBP) algorithm accomplishes the lossy source coding in [
15]. Then, the shuffled RBP algorithm was proposed to improve the encoding efficiency for compressing the binary source [
11]. Subsequently, the lossy compression of the Gaussian source was considered. Ref. [
16] proposes a multi-level coding (MLC) structure to preprocess the floating sequence by mapping one float into a bit string. To further increase the compression efficiency, the BP algorithm is modified to transform one float into one bit in [
17]. In addition, the source model is extended to the general source by applying neural networks (NNs) in [
18], including the Gaussian and Laplacian source models.
The aforementioned works focus on improving the compression efficiency using different methods which can be classified into two categories; one optimally searches the better codebooks, the other designs the BP-like algorithms. The optimization principle of these works is to improve the code matrices and BP-like algorithms based on the mutual information transfer (MIT) strategy [
17]. The MIT strategy assumes the minimum distortion to be the maximum mutual information, and it is an optimization criterion for searching the objective codebook.
However, the rate–distortion performances of these works still need to be improved. The main reasons are the following: First, more coding gains are obtained in channel coding than lossy source coding since the data compression generates more distortion and its structure is more complicated. Second, the MIT strategy is only appropriate for optimizing lossy compression based on the determined source, i.e., it lacks universality for variable sources. Since the codebook and the coding algorithm should be designed based on the source characteristic, it is difficult to achieve compatible performance for different source distributions. Third, it is unreasonable to evaluate data compression systems using only the MIT strategy since the shape of the quantization space should also be another optimization criterion. In consequence, a new strategy should be explored as a supplement to the MIT strategy.
Lossy source coding based on linear block code can be regarded as a VQ scheme since the codeword is
N-dimensional. The VQ is a classical quantization technique in signal processing that allows the modeling of probability density functions by the distribution of prototype vectors [
19,
20,
21,
22,
23,
24,
25]. Refs. [
26,
27] indicate that the compression performance mainly depends on the spatial structure of the quantizer. In this case, the rate–distortion performance can be optimized by improving the quantization space. The coding relation between the quantization space and the linear block code is shown in
Figure 1. The codebook optimization of the linear block code aims to allocate the quantization space according to the source distribution appropriately since the codebook contains all the central codewords of the quantization subspaces. Hence, the radius of the quantization subspace can be determined by the coding property of the linear block code.
Referring to
Figure 1, the lossy source coding based on block code can be defined as a lattice VQ scheme since the shapes of the quantization subspaces are regular. As the lattice VQ scheme has some advantages [
28], namely, intuitive architecture and simple realization, the coding methodology will be simplified. The error pattern of the block code is expressed as the radius of a quantization subspace. Usually, all the error patterns are similar in one codeword, so all the quantization subspaces have the same shape. However, the quantization subspaces are inhomogeneous in
N-dimensional spaces. In this case, each source codeword has an unequal distance from the center codeword at any dimension, which will increase the quantization distortion.
There is a technical challenge in the existing VQ scheme in terms of compressing the source with variable statistical properties. This source compression needs a more complicated quantization structure, which will exponentially increase the design complexity. To overcome this challenge, ref. [
29] designed a VQ scheme based on block code, and showed that the codebook based on the short block code will generate less quantization distortion. However, split and multistage structures are considered in the VQ scheme with higher complexities. In addition, its codebook is not designed using the duality principle. Hence, the structural complexity and performance improvement needed to be solved in [
29].
To overcome the above issues, a VQ scheme based on linear block code is proposed and the P-LDPC code is designed based on the quantization structure in this work. The motivations can summarized as follows: First, the preprocessing module is modified with a scalar quantizer and linear decoding is used in the proposed VQ scheme, which will significantly reduce the structural complexity. The VQ structure is employed for the codeword matching module for quantization, which is implemented by the BP algorithm with lower complexity. Second, the codebook is optimized based on the quantization structure, where the error correction property is used to improve the compression performance. With the codebook optimization, all the quantization subspaces become homogeneous to improve the quantization performance. In this case, the proposed VQ scheme is hardware friendly with lower complexity and better compression performance for practical implementation.
In practice, transmission distortion deriving from the noisy channel also needs to be considered in the VQ scheme, while the compression distortion of quantization is influenced by the transmission distortion. If the VQ scheme is robust over the noisy channel, the transmission power will be reduced. Ref. [
30] concludes that the quantization performance based on LDPC code is increased by channel noise. To solve the problem, ref. [
30] introduces index allocation to ameliorate the channel robustness. The existing works demonstrate that index allocation is effective for resisting channel noise and for obtaining a better compression performance in the VQ scheme [
26,
28,
31,
32]. For instance, ref. [
29] designed a block coding method based on linear mapping to implement index allocation by employing linear prediction, and [
33] modifies the simulated annealing algorithm to appropriately allocate the indices. Hence, the index allocation is also supplemented to optimally design the P-LDPC code to reduce the noisy influence in this work. It should be noted that reference [
30] only considers the lossy compression of the binary source over nosiy channels, while the continuous source is generalized in this work.
Reference [
30] finds that the distortion caused by channel noise is reduced when the weight of the check-parity matrix is decreased. Based on this discovery, a search global degree allocation (S-GDA) algorithm is proposed to optimally design the protomatrix of the P-LDPC code with lower weight. The theoretical derivation of the S-GDA algorithm is demonstrated in this work. Furthermore, the P-LDPC codes are optimally searched with the properties of the channel noise resistance and variable source adaption. The validity of the code design based on the quantization structure is evaluated by the relation between the compression distortion and the code rate, and the code robustness is presented by the performance of the compression distortion and the signal-to-noise ratio (SNR). The availability of the proposed scheme is verified by the coding gains of the objective codes. In this work, it is illustrated that the channel distortion tends towards zero in the higher SNR since better compression performance can be obtained in the higher SNR and good robustness performance is present in the lower SNR.
Overall, the three main contributions can be summarized as follows:
(1) The lossy source coding based on linear block code is analyzed by the lattice VQ scheme, which is a new analytical perspective for the coding methodology.
(2) A general VQ scheme over the noisy channel is proposed with lower structural complexity, and it has universality for variable source distributions.
(3) A valid improvement of the coding performance is designed by the quantization structure, and its principle is equalizing the radiuses of the quantization subspace to reduce the quantization distortion.
The rest of this paper is organized as follows: The proposed VQ scheme and its methodology are introduced in
Section 2. In
Section 3, the P-LDPC codes are designed for different source distributions over the noisy channels. The simulation results and analyses are presented in
Section 4. The conclusion is summarized in
Section 5.
2. VQ Scheme over Noisy Channel
2.1. Generalized VQ Scheme
The proposed VQ scheme based on P-LDPC code over the noisy channel is shown in
Figure 2, and it contains source coding, source decoding, and coding channel modules. The source
is a joint independent and identically distributed sequence of length
N, and
presents the reconstructed source.
In the source coding module, the source sequence
is preprocessed by a scalar quantizer, and each variable
is quantified as a binary
of length
L as follows:
where
q represents the preprocessor of scalar quantization,
represents a binary sequence or one bit since its length
L can be taken any positive integer, the parameters satisfy
and
, and
is the set of positive integers.
Each local sampling point is quantified to achieve the highest bit rate. Since all the scalar quantizers are the same at each sampling point, this provides a feasible condition for constructing a regular VQ scheme based on P-LDPC code. It should be noted that the preprocessor performance will not influence the final design of the P-LDPC codes. The reason is that each sampling point needs to be compressed with the same expected distortion to change the VQ scheme from irregular to regular. In this case, the quantization complexity is simplified and the P-LDPC codes can be compatibly designed.
After that, the binary sequence will pass through the source coding module based on the P-LDPC codes. The quantization codebook is determined by the check-parity matrix of the P-LDPC code, and the codeword should be closest to the center of quantization subspace to obtain the better compression performance. The source is quantified as the legal codeword . The quantization subspace is determined by the codeword space, which is formed by the weight distribution of the P-LDPC codes.
In the transmission module, the index sequence
of the codeword
is extracted, and it is transmitted through the noisy channels as the receiving
.
is obtained by the information bits of length
k. Hence, the compression rate is defined as
where
R is the compression rate,
N is signified as the length of
, there are
codewords encoded by
bits, and
.
In the source decoding module, the generator matrix
corresponding to the check-parity matrix
is multiplied with the demodulated
to accomplish the linear decoding as follows:
After that, the source
is reconstructed as
where
is the post-processer which is a reverse of
q,
, and
.
Overall, the distortion is mainly generated from two modules, the source coding and the channel noise modules. Hence, the total distortion of the VQ scheme is defined as
2.2. Coding Methodology of VQ Scheme
Different from the design of conventional quantization, the VQ scheme based on linear block code needs to be appropriately designed with the codebook and the source space. Generally, the compression performance is determined by the codebook and the source subspace. In [
20], the locally optimal quantizer is obtained by a training process, which is iteratively updated by the generalized Lloyd algorithm (GLA) based on the initial codebook and subspace.
On the contrary, the proposed VQ scheme does not need the training process. The corresponding codebook is determined by the given parity-check matrix of the linear block code, and the subspace is related to the coding property of this linear block code. Hence, the compression performance of the proposed VQ scheme mainly depends on the employed linear block code. Replacing the training process by designing the linear block code, the structure of the proposed VQ scheme has lower complexity. In addition, source decoding is implemented by the linear decoding method, which reduces the decoding complexity compared with the look-up table operation in the existing methods.
In the proposed VQ scheme, the preprocessing module is necessary since the source statistic distributions are diversiform. The preprocessing will average the source probability distribution and allocates the compression rate to the corresponding probability density. For example, the quantization performance is locally optimized with subspace partitioning to reasonably allocate the compression rate in [
34]. In this way, there will be multi-levels in quantization to refine the signal region while the code rate is increased with the constriction of the signal region. Hence, the preprocessing module is useful for improving the compression efficiency.
In the codeword matching module, the subspace is partitioned according to the block code. The source is replaced by the closest codeword, and these source subsets are centered on the codeword form of the quantization subspace. Then, the distance between the subspace with the codeword is calculated as
where “+” represents the modulo 2 addition,
,
is defined as the radius vector of the quantization subspace, and the codeword matching relation satisfies
This codeword matching relation indicates the proposed coding methodology as follows:
Then, the
i-th quantization subspace can be expressed as
Assume that there are quantization subspaces in total, and each subspace contains source vectors. In this case, the number of radiuses is . For each codeword, the set of radiuses is the same, which is determined by the weight distribution of the parity-check matrix. Specifically, a set of radiuses is signified as .
The quantization subspace of lattice VQ is regular. Referring to the aforementioned methodology, it can be seen that the quantization based on the linear block code is lattice VQ. This structure is suitable for realizing high-dimensional quantization, and its regular subspace structure is appropriate for uniform quantization. Most of the lattice VQ can be obtained by linear calculations with lower coding complexity. For the lattice VQ, the generation matrix of the linear block code needs to be used as the system matrix, and the source decoding is implemented as
where
and
represent the reconstructed source and the demodulated codeword, respectively, and the check-parity matrix
can be partitioned as follows:
where
is an identity matrix of the dimension
,
represents a partition matrix of dimension
, and
. If the generation and the check-parity matrices are determined, the degrees of information bits can be allocated correspondingly.
In addition, the
N-dimensional source is considered in the proposed VQ scheme. For example, the
N-dimensional source follows the independent and identically distributed Gaussian distribution, and its rate–distortion function is
where
presents the variance of the
ith Gaussian source,
, and the function log is replaced by ln to express the
as
The partial derivative of
is calculated as
This equation indicates that the minimum is a constant. That is, each dimension should be assigned with the same quantization accuracy. Specifically, if each dimension of the linear block code has the same coding ability, the VQ scheme will obtain the overall minimum average distortion. For example, ref. [
30] proposes the GDA codes to balance the coding ability by averaging the degree distribution to reduce the distortion.
In summary, the minimum number of codewords is determined by the codeword length and the rate distortion function as follows:
2.3. Robust Code Design
In the proposed VQ scheme, the overall distortion is composed of quantization distortion (
) and channel distortion (
) [
35] as follows:
where
D is calculated by the mean-squared error (MSE) distortion.
In the VQ scheme, the channel distortion is generated from the noise influence. Reference [
30] finds that the channel distortion will be increased when the generation matrix of the P-LDPC code has a larger weight. The reason is as follows:
where
represents the average distortion generated by the
e-bits error of the binary indices,
is the degree of the
j-th variable node, and
is the total weight of the generation matrix.
Hence, the P-LDPC codes with the lower weights should be considered. For the code design, the weight constraint is supplemented to search the objective code, and the S-GDA algorithm is proposed, shown in Algorithm 1. The parameters can be explained as follows:
: the threshold of quantization distortion reduction;
: the degree of the j-th variable node ();
: the degree of the i-th check node ();
d: the total degree of the variable nodes associated with the information bits in the protomatrix;
: the number of edges connecting the i-th check node and the y-th variable node ();
: the number of edges connecting the j-th variable node and the x-th check node ().
To suppress the channel noise, the quantization distortion reduction
is given as a small value in the S-GDA algorithm so that the distortion
is decreased. Then, the S-GDA codes with the minimum weight will be obtained with the minimum
. The optimal S-GDA code has good robustness to the channel noise. Furthermore, the tradeoff between the quantization distortion (
) and the channel distortion (
) should be balanced.
Algorithm 1 S-GDA |
- Input:
M, N, d, ; - Output:
S-GDA codes - 1:
do - 2:
for do - 3:
- 4:
if then - 5:
- 6:
else - 7:
- 8:
end if - 9:
end for // Allocate the total degree to the variable nodes - 10:
for do - 11:
- 12:
if then - 13:
- 14:
else - 15:
- 16:
end if - 17:
end for // Allocate the total degree to the check nodes - 18:
for do - 19:
- 20:
if then - 21:
// Until the degree of the j-th variable node is filled - 22:
else - 23:
- 24:
end if // Traverse filling: the next filling position starts at adjacent position - 25:
end for - 26:
while
- 27:
- 28:
return objective code
|
Mathematically, the principle of Algorithm 1 is as follows:
where
is the floor function, the code rate is defined as
,
implies
, and
indicates
. The objective code will be obtained when the quantization distortion reduction is less than the threshold
; otherwise, the total degree
d will be decreased to search the objective code.