Gilles Puy

Alexey Ozerov

Ngoc Q K Duong

Patrick Pérez

INFORMED SOURCE SEPARATION VIA COMPRESSIVE GRAPH SIGNAL SAMPLING

Keywords: Informed source separation, audio object coding, non-negative matrix factorisation, graph signal processing, compressive sampling

We propose a novel informed source separation method for audio object coding based on a recent sampling theory for smooth signals on graphs. Assuming that only one source is active at each timefrequency point, we compute an ideal map indicating which source is active at each time-frequency point at the encoder. This map is then sampled with a compressive graph signal sampling strategy that guarantees accurate and stable recovery at the decoder. The graph is built using feature vectors, computed using non-negative matrix factorization, that allows us to connect similar source activations in the time-frequency plane. We show that the proposed approach performs better than state-of-the-art methods at low bitrate.

INTRODUCTION

As audio source separation has remained a challenging task, especially in the single-channel case (an extreme case of underdetermined situation where the are less observations than unknowns) [START_REF] Vincent | The Signal Separation Campaign (2007-2010): Achievements and remaining challenges[END_REF], the use of prior information about the sources to guide the separation process has been largely considered in the literature and is known as informed source separation (ISS) [START_REF] Vincent | From blind to guided audio source separation: How models and side information can improve the separation of sound[END_REF]. Such information can be, e.g., music score [START_REF] Fritsch | Score informed audio source separation using constrained nonnegative matrix factorization and score synthesis[END_REF], text transcript [START_REF] Magoarou | Textinformed audio source separation. example-based approach using non-negative matrix partial co-factorization[END_REF], or extracted from the sources themselves [START_REF] Parvaix | Informed source separation of linear instantaneous under-determined audio mixtures by source index embedding[END_REF][START_REF] Liutkus | Informed source separation through spectrogram coding and data embedding[END_REF][START_REF] Ozerov | Coding based informed source separation: Nonnegative tensor factorization approach[END_REF]. The latter case concerns audio coding applications in which the so-called side information is extracted at the encoding stage where the original sources are known, and then used to guide the source estimation at the decoding stage where only the mixture is observed. It is also related to spatial audio object coding (SAOC), a recent approach standardized in the MPEG audio group, [START_REF] Engdegard | Spatial audio object coding (SAOC) -The upcoming mpeg standard on parametric object based audio coding[END_REF] for the same type of practical application. As parametric coding schemes, the encoding processes of both ISS and SAOC require remarkable computation costs at the encoder. Thus, in the same line of research, Bilen et al. [START_REF] Ozerov | Compressive sampling-based informed source separation[END_REF] proposed a compressive sampling-based ISS that shifts the computational load from the encoder to the decoder, making the former extremely fast.

In this paper, we present a novel ISS approach targeting the ability to greatly reduce bitrate for transmission. Motivated by the fact that audio sources are usually disjoint in the time-frequency (TF) representation, i.e., only one source is active at each timefrequency point [START_REF] Yılmaz | Blind separation of speech mixtures via time-frequency masking[END_REF], a map showing which source is active at each time-frequency point is a good indicator to separate the sources from the mixture. At the encoder, as the original sources are known, this oracle map can be easily computed and considered as side information to guide the source separation given the mixture. To compress such side information, this map is then sampled with a compressive graph signal sampling strategy to guarantee the ability to recover it at the decoding stage for source separation. As the underlying graph should be available at both the encoding and decoding sides, we propose to build it using feature vectors derived from the non-negative matrix factorization (NMF) of the mixture signal [START_REF] Lee | Algorithms for non-negative matrix factorization[END_REF]. Compared to the existing works [START_REF] Parvaix | Informed source separation of linear instantaneous under-determined audio mixtures by source index embedding[END_REF][START_REF] Liutkus | Informed source separation through spectrogram coding and data embedding[END_REF][START_REF] Ozerov | Coding based informed source separation: Nonnegative tensor factorization approach[END_REF][START_REF] Ozerov | Compressive sampling-based informed source separation[END_REF], we show that the proposed approach can go toward lower bitrates while still offering reasonable source separation performance at the decoding stage.

The rest of the paper is organized as follows. Section 2 presents the problem formulation, followed by the description of the compression strategy via graph sampling in Section 3. Experimental results are shown in Section 4. Finally, we conclude in Section 5.

PROBLEM FORMULATION

In ISS, a mixture of different sources is transmitted to the decoder along with side information to help the separation of the sources from the mixture. We denote by sj, j = 1, . . . , J, the different sources in the temporal domain. The mixture x satisfies x = J j=1 sj.

(

) 1
At the encoder, our goal is now to construct and transmit additional information that will help the decoder estimate each source sj from x.

A common strategy in audio source separation is to work in the TF domain. The short-time Fourier transform (STFT) of x is computed and it is assumed that a single source is active at each TF point. Under this assumption, extracting source j thus consists in identifying where this source is active in the TF domain. This is the approach we follow to construct the information to transmit for the separation.

Let X ∈ C F ×N and Sj ∈ C F ×N denote the complex matrices of the STFT coefficients of the mixture x and of the source sj, respectively. To determine where source j is active in the TF domain, we compute

Mj = argmin M∈R F ×N X M -Sj 2 F = Real (Sj X) , (2)
for each source j = 1, . . . , J. In the above equation, and stand for the element-wise product and division, respectively. 1 We then determine which unique source is dominantly active at each TF point (f, n) by checking which Mj has the largest entry at (f, n). We thus obtain a map Z ∈ {1, . . . , J} F ×N whose entries are

Z[f, n] ∈ argmax 1 j J Mj[f, n]. (3)
Note that, with the above definition, a source index is arbitrarily chosen in the case where all sources are inactive at a TF point.

With the knowledge of X and Z, we can estimate all the sources as follows. For each source j, we construct the binary activation matrix M * j ∈ {0, 1} F ×N that satisfies

M * j [f, n] = 1 if Z[f, n] = j, 0 otherwise, (4)
and compute the inverse STFT of X M * j to obtain an estimation of sj. Our goal now is to send a compressed version of the map Z to the decoder to be able to estimate the binary masks M * j at the decoder.

COMPRESSION VIA GRAPH SAMPLING

The technique we use to compress the map Z is based on a recent sampling theory for smooth signals on arbitrary graphs [START_REF] Puy | Random sampling of bandlimited signals on graphs[END_REF]. Let us start by recalling some concepts of graph signal processing.

Graph signal processing basics

An undirected graph G is a set of nodes N , edges E, and an adja-

cency matrix A ∈ R |N |×|N | . The entries of A satisfy A[i, j] = A[j, i] > 0 if (i, j) ∈ E and A[i, j] = 0 otherwise. ( 5
)
The degree matrix The matrix U is usually viewed as the graph Fourier basis of G [START_REF] Shuman | The emerging field of signal processing on graphs: Extending high-dimensional data analysis to networks and other irregular domains[END_REF]. For any signal z ∈ R |N | living on the nodes of G, its Fourier representation is ẑ = U z. Note that the Fourier coefficients ẑ are ordered in increasing frequencies. A signal z is k-bandlimited on G if its Fourier coefficients ẑk+1 , . . . , ẑ|N | are null [START_REF] Puy | Random sampling of bandlimited signals on graphs[END_REF][START_REF] Chen | Discrete signal processing on graphs: Sampling theory[END_REF][START_REF] Anis | Towards a sampling theorem for signals on arbitrary graphs[END_REF]. More generally, we say that a signal is smooth on G if its energy is essentially concentrated at the lowest frequencies.

D ∈ R |N |×|N | is the diagonal matrix with entries satisfying D[i, i] = |N | j=1 A[i, j].

Intuition

We recall that each entry of Z indicates the active source at the corresponding TF point. Let us view Z as a signal on a graph of N F nodes -one node for each matrix entry. Imagine for a moment that the edges of this graph are such that: the nodes corresponding to source 1 are connected together and to no other nodes, the nodes corresponding to source 2 are connected together and to no other nodes, etc. This graph has obviously J different connected components, each one corresponding to exactly one source. Therefore, Z is constant within each component: Z is smooth on this graph. Actually, one can easily prove that Z is exactly J-bandlimited on this ideal graph and is therefore compressible. Indeed, one just needs to sample the value of one node per component to have a complete knowledge of Z. Each sample identifies the source index associated to the component and the map is reconstructed from the J samples by propagation of the sampled values to all connected nodes.

The above scenario is ideal. In practice, if we are able to construct a graph G such that Z is approximately k-bandlimited, then the results in [START_REF] Puy | Random sampling of bandlimited signals on graphs[END_REF] show that only O(k log(k)) samples are sufficient to ensure a stable and accurate reconstructions of Z at the decoder. In the next sections, we detail the construction of G and explain the sampling and reconstruction procedures.

Graph construction

The graph G is used at the decoder for reconstruction and can also be used at the encoder to optimise the samples of Z to send. Therefore, we need to find a way to construct an appropriate graph G which is identical at the encoder and at the decoder. Note that we do not want to build the graph at the encoder and transmit it to the decoder as this would be as costly as sending Z directly. We thus construct the graph from the mixture x, which is the only complete information available at both the decoder and the encoder.

NMF [START_REF] Lee | Algorithms for non-negative matrix factorization[END_REF] is a well-known tool to estimate the spectral characteristics of audio signals. We propose here to use NMF to construct one feature vector per TF point, which we will use to construct G. We first compute the power spectrogram

V ∈ R F ×N of x, V[f, n] = |X[f, n]| 2 ,
and factorize it by solving the following optimization problem [START_REF] Févotte | Non-negative matrix factorization with the Itakura-Saito divergence. with application to music analysis[END_REF] (W * , H * ) = argmin

W∈R F ×Q + , H∈R Q×N + D(V WH), (6)
with

D(V V) = F,N f,n=1 dIS(V[f, n] V[f, n]),
where dIS(x y) = x/y -log (x/y) -1 is the Itakura-Saito (IS) divergence. In this NMF, W * is the spectral dictionary, H * is the time activation matrix, and Q is the number of NMF components.

To solve [START_REF] Liutkus | Informed source separation through spectrogram coding and data embedding[END_REF], the matrices W and H are initialized with random nonnegative values and are iteratively updated via the multiplicative update rule until convergence [START_REF] Lee | Algorithms for non-negative matrix factorization[END_REF][START_REF] Févotte | Non-negative matrix factorization with the Itakura-Saito divergence. with application to music analysis[END_REF]. Note that the same random generator seed value can be used at the encoder and decoder to recover the same result. When Q J is appropriately chosen, the above NMF has the tendency to isolate the spectral characteristics of each source, i.e., W * [:, l] is a spectral characteristic of one of the sources and H * [l, :] indicates the contribution of this characteristic in the overall spectrogram at each instant. Note that one source is usually characterized by several NMF components. At each TF point (f, n), we build the following Q-dimensional feature vector

f (f,n) ∈ R Q f (f,n) = W[f, 1] H[1, n], . . . , W[f, Q] H[Q, n] . (7)
This feature vector indicates the contribution of each spectral characteristic at (f, n), showing which ones are the most active. As only one source is essentially active at each TF point, connecting feature vectors f (f,n) which are similar should connect nodes for which the same source is likely to be active. To simplify notations, let i ∈ {1, . . . , N F } index each time frequency point (f, n), and substitute fi for f (f,n) . Let also z ∈ {1, . . . , J} N F be the vectorised version of Z. In order to construct G, we connect each feature vector to its 8 nearest neighbours (in the 1 sense), which gives a set E of 8N F edges. The adjacency matrix

A ∈ R N F ×N F of G satisfies A[i, i ] = 0 for (i, i ) / ∈ E and A[i, i ] = exp -fi -f i 1 /µ for (i, i ) ∈ E, (8)
where µ > 0 is the mean of the values in the set { fif i 1 : (i, i ) ∈ E}. We then symmetrise the matrix A and compute the graph Laplacian. As the quality of the feature vectors depends on the choice of Q, we perform several NMFs for different values of Q and concatenate all the feature vectors obtained before constructing the graph G. This is an advantage of the proposed approach as we do not have to find the optimal value of Q as in conventional NMF based methods. Furthermore, another potential advantage is that a fusion of several NMFs with different Q may actually work better than using one single NMF, even if the choice of Q is optimised. Results obtained with our method (red crosses), [START_REF] Liutkus | Informed source separation through spectrogram coding and data embedding[END_REF] (grey triangles) and [START_REF] Ozerov | Coding based informed source separation: Nonnegative tensor factorization approach[END_REF] (green circles).

Sampling

To sample z, we follow the method described in [START_REF] Puy | Random sampling of bandlimited signals on graphs[END_REF]. This method relies on a sampling probability distribution defined on the nodes of G. This distribution is represented by p ∈ R N F . We obviously have p 1 = 1. The i th entry of p, i.e., pi represents the probability of sampling node i. The samples are then chosen by selecting randomly m different nodes according to p. We denote the set of selected indices Ω = {ω1, . . . , ωm} ⊂ N .

The results in [START_REF] Puy | Random sampling of bandlimited signals on graphs[END_REF] show that the efficiency of the sampling depends on the graph cumulative coherence, which is a parameter that characterises the interactions between the graph structure and the sampling distribution. In particular, it is proved in [START_REF] Puy | Random sampling of bandlimited signals on graphs[END_REF] that, if

pi = U k δi 2 2 /k, (9)
where U k = (u1, . . . , u k ) and δi is the Dirac at node i, then m = O(k log(k)) measurements are sufficient to sample all kbandlimited signals, with high probability. Up to the factor log(k), this is an optimal result as we necessarily need m k to sample any k-bandlimited signal. Let us highlight however that, in practical applications, if the signals of interest are not exactly bandlimited or have more intrinsic structures, the above probability distribution may not be any more the one leading to the best results. We will test different sampling distribution in our experiments.

In the following, for any vector a ∈ R N F , we denote by aΩ ∈ R m its restriction to the indices in Ω. The samples sent to the decoder are thus zΩ, after coding as described in Section 3.5. Note that we do not send the list of indices Ω at the decoder. Instead, the sampling distribution p is recomputed at the decoder and the list Ω is re-obtained at the decoder by fixing in advance the same seed value of the pseudo-random generator at the encoder and the decoder.

Differential coding

The last process in the encoder is the coding strategy used to encode the list of values in zΩ. As only J values, or symbols, appear in zΩ, the simplest strategy would consist in coding each value using log 2 (J) bits. However, as all values do not appear with the same probability, one can achieve better results by coding this list of symbols using, e.g., arithmetic coding. This is the strategy adopted here. Yet, we noticed that better results are achievable by using differential coding before arithmetic coding.

We reorder the indices in Ω as follows. We travel across the time-frequency plane starting from the lowest time index and lowest frequency, then going towards the largest time index, and continue in zigzag towards the highest frequencies. The indices are reordered in order of appearance during this travel. Even though the indices in Ω are selected at random, we noticed that for the sampling distributions that lead to the best results, this reordering makes appear sequences of constant values: the same source remains active for a while. To take advantage of this effect, we use differential coding to encode the reordered list. For simplicity, let us assume that the indices ω1, . . . , ωm are ordered as just described. We compute the sequence ẑ ∈ {0, . . . , J -1} m that satisfies ẑ [START_REF] Vincent | The Signal Separation Campaign (2007-2010): Achievements and remaining challenges[END_REF] = z[ω1] -1 and [START_REF] Yılmaz | Blind separation of speech mixtures via time-frequency masking[END_REF] which is then coded using arithmetic coding. In this work, we do not implement arithmetic coding but instead estimate the attained bitrate. We compute the probability qj of appearance of each symbol j ∈ {0, . . . , J -1}. Note that we would need to transmit these J parameters for decoding in practice. We then estimate that the number of bits needed to code each symbol by arithmetic coding is log 2 (qj). The number of bits to code the sequence ẑ is therefore J-1 j=0 Nj log 2 (qj), where Nj is the number of times j appears in the sequence.

ẑ[i] = (z[ωi] -z[ωi-1]) mod J for all i ∈ {2, . . . , m},

Reconstruction

At the decoder, we have access to zΩ (after decoding) and we can also reconstruct the graph G. We can thus try to estimate either z or the binary masks m * j -the vector m * j ∈ {0, 1} N F denotes the vectorised version of M * j . Indeed, if z is smooth on G then the masks m * j are also smooth on G by construction. Note also that the sampled binary mask (m * j )Ω can directly be deduced from ZΩ by using Eq. 4 at the sampled TF points.

Instead of reconstructing z, we choose to estimate the J masks mj using the reconstruction method proposed in [START_REF] Puy | Random sampling of bandlimited signals on graphs[END_REF]. It is proved that one can stably and accurately estimate m * j by solving

min m∈R N F P mΩ -(m * j )Ω 2 2 + γ m L m, (11)
where γ > 0 and P ∈ R m×m is the diagonal matrix that satisfies

Pii = p -1/2 ω i
. We let the reader refer to [START_REF] Puy | Random sampling of bandlimited signals on graphs[END_REF] for the precise bound on the reconstruction error. In this paper, we opt for the constrained version of the above problem. We solve Note that the above problem can be solved efficiently using, e.g., FISTA [START_REF] Beck | A fast iterative shrinkagethresholding algorithm for linear inverse problems[END_REF], which only involves one matrix-vector multiplication with the sparse Laplacian matrix L at each iteration. The sources are then separated from the mixture using the estimated masks mj.

mj = argmin m∈R N F m L m subject to mΩ = (m * j )Ω. (12)

EXPERIMENTS

We conduct experiments using J = 3 sources of a music recording of 5.5 seconds sampled at 16 kHz. For computational reasons when constructing the graph G, we divide these recordings into segments of 1024 ms 2 and we compress them independently with our method. The STFT is computed using a half-overlapping Hann window of 1024 samples. The performance is evaluated by the signalto-distortion ratio (SDR) after separation of the 3 sources from the mixture. The SDR is a benchmarked metric measured in dB grading the overall signal distortion [START_REF] Vincent | Performance measurement in blind audio source separation[END_REF]. The reported results are obtained by averaging the SDRs obtained after compression and separation for the 3 sources. The bitrate is estimated as described in Section 3.5.

With our method, the number of measurements m varies between 5 and 15 percent of N F in all experiments. We perform 10 simulations per number of measurements corresponding to 10 independent draws of Ω. Each cross in the plots of Fig. 1 corresponds to one experimental result.

Quality of the signal model

We first want to confirm that considering that the binary masks are smooth on G is a valid signal model for reconstruction. Therefore, we compare the source separation quality when the binary masks are obtained by solving [START_REF] Puy | Random sampling of bandlimited signals on graphs[END_REF] or by zero-filling, which consists in keeping the known value of m * j in Ω and setting to 0 all the values outside of Ω. In both cases, the graph is obtained by computing and concatenating the feature vectors with Q = 3, 6, 9. The sampling distribution p is obtained by normalising the power spectrogram V of the mixture. We denote this distribution ps. This sampling distribution favours the selection of measurements where the sources have most of their energy. The results are presented in Fig. 1a.

We notice an advantage of using the graph regularisation at low bitrate with an improvement of around 1 dB on average. At high bitrate, the performance of both methods saturates to reach an SDR of about 9.40 dB. Note that the best result one can achieve with a complete knowledge of the ideal binary masks m * j is 9.55 dB. We are thus close to this SDR at the highest bitrate tested, i.e., for m = 0.15N F . There is thus less room for improvement when using the graph at high bitrate. This result also indicates that most of the information about the binary masks is contained in the 15 percent of measurements selected. 2 Mirroring is used for the last segment which is shorter than 1024 ms.

Influence of the number of NMF decompositions

We study now the effect of concatenating or not the feature vectors obtained by NMF for different values of Q. We run experiments where the graph is obtained by computing feature vectors with Q = 6 only or by concatenating those obtained at Q = 3, 6, 9. The sampling distribution used is ps. The binary masks are recovered by solving [START_REF] Puy | Random sampling of bandlimited signals on graphs[END_REF]. The results are presented in Fig. 1b.

On average, we notice a slight improvement of using multiple NMFs at different values of Q to construct the graph. We also observed the same behaviour when the graph is constructed with Q = 3 or 9 only. The graph is thus slightly better estimated when concatenating the results of different NMFs.

Influence of the sampling distribution

In this third set of experiments, we study the effect of different sampling distributions on the attained separation quality. We test the uniform sampling distribution, the distribution ps, and the distribution defined in (9) (denoted po). This last distribution is estimated using the fast algorithm presented in [START_REF] Puy | Random sampling of bandlimited signals on graphs[END_REF]. The parameter k in ( 9) is adapted to m. We use k = m/3 in this set of experiments. The graph is obtained by computing and concatenating the feature vectors obtained with Q = 3, 6, 9. The binary masks are recovered by solving [START_REF] Puy | Random sampling of bandlimited signals on graphs[END_REF]. The results are presented in Fig. 1c.

We observe that the uniform distribution yields the worse results. The quality does not even increase with the bit rate. The distributions ps and po yield the best results, with the first one performing the best. For illustration, we show in Fig. 2 the logarithm of these distributions. Both distributions concentrate most of the measurements at low frequencies but po allows the highest frequencies to be sampled with higher probability than ps. While po depends on the structure of G only, ps prevents to place measurements where none of the sources has energy. We expect that the best distributions are obtained, e.g., from a mixture of these two distributions so as to obtain a distribution adapted to both the graph G and the energy distribution of the sources. We however have not yet explored this possibility, which is left as future work.

Comparison to other methods

Finally, we compare our method with the ISS methods presented in [START_REF] Liutkus | Informed source separation through spectrogram coding and data embedding[END_REF] and [START_REF] Ozerov | Coding based informed source separation: Nonnegative tensor factorization approach[END_REF]. The graph is obtained by concatenating the feature vectors obtained at Q = 3, 6, 9. We use the sampling distribution ps. The binary masks are recovered by solving [START_REF] Puy | Random sampling of bandlimited signals on graphs[END_REF]. The results are presented in Fig. 1d.

We clearly see that the advantage of the proposed method at low bitrate where it outperforms [START_REF] Liutkus | Informed source separation through spectrogram coding and data embedding[END_REF] and [START_REF] Ozerov | Coding based informed source separation: Nonnegative tensor factorization approach[END_REF]. At high bitrate, while the performance of our method saturates, the method presented in [START_REF] Ozerov | Coding based informed source separation: Nonnegative tensor factorization approach[END_REF] allows to attain a better separation quality.

CONCLUSION

We propose a novel ISS method for audio coding based on recent sampling developments for smooth signals on graphs. We show that this method achieves better separation quality at the decoding side for low bitrate than other state-of-the-art methods. To improve even further the method, it would be interesting to find how to compute a sampling distribution optimised for both the graph structure and the specific energy distribution of the mixture in the time-frequency plane. Note also that NMF is just one possibility to construct G. Other methods, such as, e.g., in [START_REF] Bach | Learning spectral clustering, with application to speech separation[END_REF] might improve the results.

  The graph Laplacian is defined as L = D -A. It is a real, symmetric, positive semi-definite matrix. Its real normalised eigenvectors form an orthonormal matrix U = (u1, . . . , u |N | ) ∈ R |N |×|N | . The corresponding real eigenvalues are denoted 0 = λ1 . . . λ |N | .

Fig. 1 :

 1 Fig. 1: SDR (dB) vs. bitrate (kbps/source). (a) Results obtained by solving (12) (red crosses) or by zero-filling (blue crosses). (b) Results obtained by concatenating feature vectors computed with Q = 3, 6, 9 (red crosses) or Q = 6 only (blue crosses). (c) Results obtained with different sampling distributions: ps (red crosses), po (blue crosses), uniform distribution (black crosses).(d) Results obtained with our method (red crosses),[START_REF] Liutkus | Informed source separation through spectrogram coding and data embedding[END_REF] (grey triangles) and[START_REF] Ozerov | Coding based informed source separation: Nonnegative tensor factorization approach[END_REF] (green circles).

Fig. 2 :

 2 Fig. 2: Logarithm of the sampling distributions po obtained for k = 0.05N F (left) and ps (right).

For simplicity, we assumed that X does not contain any zero entries.


Anonymus Casmiriensis Mokṣopāya

Textedition Teil

Das Erste

Buch Zweite

Mumukṣuvyavahāraprakaraṇa Vairāgyaprakaraṇa

Edition Kritische

Suzanne Von

Krause-Stinner

Casmiriensis Mokṣopāya

Dritte Das

Utpattiprakaraṇa Buch

Jürgen Von

Peter Hanneder

Stanislav Stephan

Harrassowitz Jager

Vierte Das

Sthitiprakaraṇa Buch

Von Suzanne

Anonymus

des établissements d'enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.

The three volumes of critical edition under review are among the major results of the Mokṣopāya project, supervised by Prof. Walter Slaje. The aim of the project is to make the Sanskrit text of the Mokṣopāya('Means of final liberation', 10th century CE, from Kashmir) available in a critical edition, with a full (German) translation, a philological commentary and a dictionary of its special terminology. The three edited volumes contain the first four books (prakaraṇa) of the Sanskrit text out of six.

Most readers of this review will certainly know the project and the reasons for which it is important to have a critical edition of this monumental work of 30,000 verses. It would have been, however, useful if the editors had said a few words about the significance and the context of this philosophical-poetical oeuvre, so that Sanskritists uninitiated into the Mokṣopāya's intricacies should have a better picture of its position in Sanskrit literature. Such basic information may seem superfluous for the editors, who are well acquainted with the subject;perhaps it would feel like stating the obvious. There are nevertheless at least three reasons for which a contextualizing introduction would be necessary, even if it is not a necessary part of a critical edition strictly speaking.

1. All philological work needs to put its object of study in a wider context, in particular 'in the current scholarly atmosphere that distrusts the use of philology for historical purposes'. This expression comes from Patrick Olivelle's review of Slaje's Mokṣopāyaṭīkā edition (Journal of the American Oriental Society 117.1:204.). Although the review was written in 1997, the distrust does not seem to have disappeared completely-and it may concern the use of philology for almost any purpose.

Such anunfavourable situation has also some advantages, since it may motivatean editor to try to uncover a wider context of a text from the very beginning of its study. At the same time, it is understandable that the editors of the Mokṣopāya volumesperhaps did not want to be involved in what they may consider unnecessary apologetics.Yet, providing some context would also make the edition more appetizing for a less wellinformed Sanskritist reader, which would certainly be desirable.

2. Authors of critical editions are often faced with the accusation that they edita completely obscure text or an obscure version of a text that never had any relevance or use for any segment of society, whether around the time of its composition or later. Such * The reviewer would like to apalogize for submitting this review with an indecent and probably unprecedented delay. The fourth volume of the edition and much of the German translation have also been published in the meantime, but unfortunately they could not be considered in the present review. criticism is not always explicit, but may be expressed when the text is called 'resurrected' (implying that it has been as good as dead).In order to reply to such arguments in advance, it would have been useful to point out the relevance of the Mokṣopāya and the way in which it is embedded in the Indian tradition. This could have been done easily, for participants in the project have published ample material on the subject.

It has been demonstrated, for instance, that the Mokṣopāyahas an inclusivistic attitude encompassing various Hindu as well as Buddhist schools of thought (see e.g. [START_REF] Hanneder | Studies on the Mokṣopāya[END_REF]), but only passing reference is made in vol. 1 p. xi of the edition to note that the text is aimed at a larger public. Another paper (Slaje 2001:780) mentions that the Mokṣopāya's author may belong to a school of thought that is called the abhāvabrahmavāda (also, possiblyśāntabrahmavāda?) in contemporary Kashmirian sources.

As to the social background, Slaje 2000:177, 191argues that the Mokṣopāya is aimed at those who fulfill their social duties (gṛhasthas) rather than at renunciates (saṃnyāsins), and that in this respect it is close to Abhinavagupta's attitude in his exegesis. Both Slaje 2000:177 andHanneder 2006:119ff.reveal several clues that point to a kṣatriya background, and Hanneder 2006:132ff. also shows that the text was actually recited to royals throughout Indian history, and that its courtly context remained alive.

It may also be interesting to some readers that several of the stories related have female protagonists (in fact queens)who transmit the doctrine about mokṣa (see Hanneder 2006:135).

Presenting these features (without dwelling on the details) would have certainly helped the reader to better understand the relevance and interest of the text, and perhaps also to acquire a larger readership.

3. As is visible in the above paragraphs, one must carefully go through various studies published by the participants in the project to put the text into its context. Since the information is rather scattered in various places, the introduction to the first volume of the edition would have been a good occasion to gather together the material and give a brief but informative presentation of the nature of the text. This being said, the introduction to the first volume of the edition gives a detailed and lucid account of the textual history of the Mokṣopāya, explaining that it represents the earlier, Kashmirian recension of the pan-Indian Yogavāsiṣṭha. The latter expands and rewrites the Mokṣopāya extensively, thus transforming most aspects of its original doctrine. Indeed, although both recensions focus on explaining how one can become liberated from the cycle of rebirths already in this very life (jīvanmukta),important transformations took place; most importantly, the Mokṣopāya's extreme illusionism and focus on the man-in-the-world (gṛhastha) was replaced by a more orthodox Advaita-Vedāntin standpoint, which rather promulgated asceticism.

As Krause-Stinner's excellent textual introduction elucidates, the Mokṣopāya itself consists of several layers of composition, while the Yogavāsiṣṭha also shows the influence of other texts and recensions, notably that of the short recension entitled Laghuyogavāsiṣṭha. The overview of the stratification of the Mokṣopāya on p. xiii is very helpful and enables the reader to follow the multiple frame stories easier.

After a detailed discussion of the various recensions, the editorial policies from p. xvii provide the reader with a complete and thorough description of the sources and the way in which they are used to produce the constituted text. There is one aspect of the manuscript tradition that could have been emphasized more clearly and in a more prominent place: that none of the Mokṣopāya manuscripts is free of contamination from the Yogavāsiṣṭha recension. This is an extremely important piece of information, but it is somewhat buried and hidden in the middle of the description of MSS Ś4 and N11. Later on, it is again mentioned on p. xxv in the discussion of the basic editorial principles, butthere the reimportation of the Nāgarī recension into Kashmir is said to be detected only in 'almost' all MSS.

The conclusion is then rightly drawn on the subsequent pages, namely that this fully contaminated transmission can only be edited if the primary reading, from which the others can be derived, is determined in each case in its own context, independently of the age of the MSS or of thenumber of MSS transmitting the reading. Indeed, one cannot but agree with the editors on refraining from drawing a stemma, which would necessarily be wrong. Now the difficulty in such a situation is to determine some guiding lines that could help in establishing the primary reading. The most questionable here is the premise (xvixxvii) that the Mokṣopāya has an internal consistency of ideas and a poetic and structural coherence. While one may suppose a certain consistency in the same text, the edition-as is rightly said on p.xxvi-cannot attempt to go back to an 'Urform,' which itself may not have been a hundred percent consistent in every respect either. Moreover, some transmitters or scribes may attempt to introduce more coherence and better style into the text. Such upgrading of the original in the transmission has been observed not only in the case of epic and purāṇic material (where it may be considered an evident phenomenon to some extent), but in the transmission of kāvya too [START_REF] Goodall | Bhūte 'āha' iti pramādāt: Firm Evidence for the Direction of Change Where Certain Verses of the Raghuvaṃśa Are Variously Transmitted[END_REF]. Although the editor seems to be aware of all these problems and pitfalls (pp. xxvi-xxvii, incl. note 80), the premise of coherenceitself remains somewhat vulnerable.

Three main guidelines are then determined in the choice of variants: (1) the lectio difficilior, whose mechanical application is immediately rejected (p. xxviii); (2) the use of parallels within the text and elsewhere to support a reading and (3) the principle of rejecting synonyms that agree with the Yogavāsiṣṭha recension and are therefore likely to come therefrom.

The editorial principles have thus been thoroughly established (probably on the basis of what the group of editors had agreed upon) in the first volume by Krause-Stinner. The subsequent volumes rely on these principles recalling only a few guidelines, such as the rejection of synonyms agreeing with the text of the Yogavāsiṣṭha (Hanneder in vol. 2 p. ix), and refer to the first volume.

For obvious practical reasons, the constitution of the critical apparatus is described in each volume, so that the reader can have access to basic information, in particular the list of abbreviations, without needing to consult the first volume. What is slightly disconcerting here is that some details are not identical in the three volumes, although the formulation is mostly either the same as or closely synonymous with what we find in the first volume. Thus, in vol. 2, Hanneder appears to add the abbreviation explicat for longer scribal explanations. For this, however, vol. 1 uses the abbreviation explic. (for explicavit), according to the list of abbreviations there, which, by the way, is also reproduced in vol. 2. So is there a difference betweenexplicat and explic.? When one tries to check which is used in vol. 2, the passage referred to on p. xvi cannot be found in the edited text.

A more important novelty in the layout of vol. 2 is that verses whose authenticity is in doubt are printed in smaller typeface. It is unfortunately not explained here on what grounds the authenticity of these verses may be questionable, given that they can be found in all the MSS. More of such passages appear in vol. 3, which retains the convention of smaller typesetting. The introduction to vol. 3 p. xi then states that these passages appear to be inconsistent with the rest or do not have the same poetic quality.

Here the reader may have some doubts as to what constitutes these inconsistencies or poor poetry, but unfortunately there is no philological commentary available for this volume.

While the longest and fullest introduction is given in the first volume, one cannot neglect the others either. Most importantly, the clearest explanation of the chronological development of the six books orprakaraṇas of the text can be found in the third volume (p. x) by Krause-Stinner and Stephan, mentioning also how the bipartite structure (jāti and upaśānti) was later imposed on the text.This should belong to the general introduction in vol 1. Since each introduction contains important bits of information, the reader is required to go through and make a synthesis of the whole. It is again understandable that the editors' view of the text evolves while going through the process of editing, but the reader would certainly appreciate more help. It is to be hoped that a synthesis will follow once the text has been edited in full.

The remaining part of the description of the apparatus does not differ substantially in the three volumes, except that there are different or sometimes more numerous examples given for typically ambiguous readings or for orthographic conventions in volumes 2 and 3. Some particularities of the conventions may be useful to mention here. Firstly, all the abbreviations are in Latin. The only other option the editors deem worth considering is to use Sanskrit (see vol 2. p.xi by Hanneder), but they reject it since Sanskrit has not got the appropriate vocabulary for the purpose (which is true). Among the abbreviations, a useful one the edition introduces is cett. (= ceteri), which denotes allthe other MSS when only one differs from them. This makes the apparatus less voluminous and is a welcome innovation (apparently, of the last minute, see vol. 2. p. xiv).

Secondly, the editors have retained some Kashmirian spelling conventions, most conspicuouslythe use of jihvāmūlīya and upadhmānīya(represented by ẖ) andthe use of final sibilants before initial sibilants rather than a Visarga. The adoption of Kashmirian scribal habits, which, let us remark, are not always consistent in the MSS themselves,may reflect the original form ofthe text. However, the Mokṣopāya was written in Sanskrit, which implies that it was potentially aimed at a pan-Indian readership. It is therefore questionable whether it was intended to be readwith such local flavour (although one cannot exclude this possibility either).

Thirdly, and most importantly, no convention is used for text passages whose constitution is uncertain. While the above-mentioned conventions (using Latin abbreviations or Kashmirian spelling) are perfectly understandable and depend mainly on the editor's personal taste, signalling textual problems belong to the obligations of any editor.

It can reasonably be expected that two conventions for problematic readings should be used in any edition: one for text passages whose exact reading is uncertain for some reason or odd enough to warrant questioning; another-usually a crux mark-to signal segments that are certainly corrupt and/or meaningless, but for which the editor cannot propose a conjecture (or does not want to propose one, if several possibilities can be envisaged for instance).The lack of any such signs implies that the constitution of the text is fully secure and without any problems or ambiguities. This is rather unlikely to be true for the entire Mokṣopāya.

There is nevertheless a way in which the editors alert the reader of potential textual problems: in the running philological commentary called Stellenkommentar. This philological commentary has not been printed, but is available at http://adwm.indologie.uni-halle.de/MU_PhilKomm.htm (accessed by the reviewer on the 15th of August, 2015) for volume 1, the first 59 chapters of volume 2 and for volume 4. The Stellenkommentar is an important part of the editorial work and is accordingly presented in a publishable form on the website;butunfortunately, it is not available for a large portion of the text. Moreover, whether there is a Stellenkommentar or not, it is not enough to signal more serious textual problems, which should be marked in the text itself.

One can also remark that the Stellenkommentar is fairly detailed in the beginning of vol. 2 but becomes more sporadic later on. As for explaining textual difficulties, sometimes it disappointingly fails to treat the actual questions. Let us see the following two examples.

1. At 1.11.23 (śūnyamanmukhavṛttīs tu śuṣkarodananīrasāḥ / viveka eva hṛtsaṃstho mamaikānteṣu paśyati), there are two variants in pāda a, manmukha and sanmukha. The editorial choice of manmukha (read in MSS Ś1 Ś3 and Ś9)againstsanmukha (transmitted by Ś4, N11 and clearly supported by Bhāskarakaṇṭha's eighteenth century Ṭīkā from Kashmir) seems not so easy to argue for. Note that it is not possible to distinguish between the two akṣaras ma and sa here in the oldest MS Ś14 according to the apparatus.

Sanmukha in the sense of 'favourable, auspicious' could be at least as appropriate in meaning asmanmukha 'my mouth/face' (or 'turning towards me') to qualify acts or deeds (vṛtti), especially because mama is already there in the sentence. Let us note that this meaning is recorded for saṃmukha in Apte's Dictionary, but sanmukha and saṃmukha are practically homographs, which is clearly visible in numerous occurrences of sanmukhain MSS and even in editions in the sense of 'facing' (opp. of parāṅmukha), when clearly saṃmukha is intended. In fact, it is possible, even probable, that the meaning 'favourable, auspicious' belongs to sanmukhaoriginally rather than tosaṃmukha.

In any case, one would like to see arguments to support the editor's choice of manmukha in the Stellenkommentar, but all one gets is the remark that ma and sa can easily be confused in Śāradā, a confusion that is very well known to anybody who has ever read this script.

The Stellenkommentar also gives two other passages as parallels to support the editorial choice in question. The problem with these parallels is that in both cases, there is no ambiguity and there are no variants. The only reading is manmukha in one case (meaning 'my mouth' in 4.30.38) and sanmukha in the other (in 2.2.11). Their contexts seemalso rather different.The alleged parallels appear thereforeirrelevant to decide the present case.Thus, even if the editor may well be right in her choice, in the absence of any appropriate arguments the reader remains in doubt.

2. In volume 2, at 3.13.21d, one finds the conjecture arthabhāvitāt for arthabhāvitvāt. This may improve on the text, but the verse remains difficult (the commentary has been lost ad loc.) and one would like to see why the editors felt the need to change the transmitted text here and what the result of this intervention is. Unfortunately, the Stellenkommentar is very brief again, stating only that the text is unklar. But which text? Before or after the conjecture? If it is unclear, why does it remain without any sign that would alert the reader to the problem? Is it a good conjecture then if the text still remains unclear? Or should one conjecture something else (too)? Unfortunately, the answers to these questions also remain unclear.

In spite of such occasional queries, the constituted text runs mostly very smoothly and provides an enjoyable reading, with editorial choices that agree with the established principles and with a very clear and thorough record of the variants.

The Stellenkommentaroften provides the reader with very useful explanations. At 3.4.12c (edited by Hanneder) the constituted textreads ityākarṇyaivam astūktvā. The majority of the MSS (Ś3 Ś7 Ś9 and Ś14) support the reading with evam, but Ś1 N13 and the Ṭīkā read eva instead.This implies that the Yogavāsiṣṭha recension probably hadeva, which tips the scale towards evam for the Mokṣopāya recension. However, one may have the impression that the evam reading attempts to improve upon a hiatus produced by eva, therefore evam appears secondary. Indeed, one can observe the secondary hiatusfilling -m-appearing elsewhere in the transmission, as in 3.11.21c. Now, looking at the Stellenkommentar, there is an important detail mentioned there: that evam has been accepted on the basis of the idiomatic expression evam astu. Indeed, understood with astu rather than ākarṇya, the adverb makes much better sense. And even if some may object saying thatastu could well stand alone as bhavatu or yātu, the argument providesvery strong support for accepting evam.

As mentioned above, one of the valid reasons established by the editorsfor rejecting a variant is that it agrees with the Yogavāsiṣṭha or Nāgarī recension's variant against other Kashmirian sources. It is therefore important for the reader to know the variant of the Nāgarī recension in particular places. It turns out that initially, a separate register was going to be reserved for variants of the Nāgarī recension (vol. II p. x by Hanneder). This register was, however, discarded on the grounds that readings of the Nāgarī recension are irrelevant for the constitution of the Mokṣopāya's text, except for a few instances. This is a clear case of self-contradiction, for how can one propose to reject a reading that agrees with what is not recorded?And the edition testifies to it: for while chapters 1-59 of volume 2 edited by J. Hanneder hardly refer to Ned (Ned representing, by and large, the Nāgarī recension in a published form), the subsequent chapters edited by P. Stephan often include the information as to which variants agree with those of Ned, by adding (=Ned) in parentheses after the variant. Indeed, this solution seems satisfactory. A separate register for all the variants of the Devanāgarī recension would overburden the apparatus, but it is useful, and even necessary, to have Ned's reading whenever it may influence editorial choices.

In some cases, omitting Ned becomes really problematic. In 3.7.25 the editor conjectures rūḍhir alam for rūḍhibalam. This is rather ingenious; but we learn from the Stellenkommetar that this is in fact Ned's learned conjecture, which the editor has found very suitable. While the honesty of the Stellenkommentar deserves praise, it would have been important to signal in the edition that this is in fact Ned's variant, or rather, conjecture.

There is an additional problem in the above-mentioned passage: the lack of reporting the Ṭīkā's variant (rūḍhibalam). While the first volume of the edition by Krause-Stinner seems to refer regularly to the Ṭīkā's variants, the second volume does so very occasionally. One reason is certainly that the Ṭīkā does not survive intact for the whole of the third book; but it is not reported even where it is available, such as in the above mentioned verse 3.7.25. This inconsistent reporting of the Ṭīkā's reading leads us to the question of how the Ṭīkā's testimony should be evaluated.Bhāskarakaṇṭha's eighteenth century commentary seems an important testimony for two reasons. First, as pointed out by Slaje (1993:11 ff.) too, its author is from Kashmir, using the Kashmirian Mokṣopāya recension and not the pan-Indian Devanāgarī recension. Second, since the author is from the eighteenth century, his sources for the text are several centuries closer to the original than what we have, even if the oldest manuscript used for the critical edition comes from before Bhāskara's time. Bhāskara himself may also havehad access to old manuscripts which could have gone back earlier than ours. Therefore, the commentary warrants serious consideration both because of its provenance and its date. Moreover, the tradition of interpretation Bhāskara follows does not seem to be affected by the vedāntic reinterpretation of the text (Slaje 1993:13). Bhāskara's interpretations must, however, be read with caution, as pointed out by Hanneder (e.g. 2006:167). Forbeing a Kashmirianśaiva (who also wrote a commentary on Abhinavagupta's Īśvarapratyabhiñjāvivṛtivimarśinī), he is likely to understand many philosophical passages in his own śaivawayor simply anachronistically (Hanneder 2006:166).Bhāskara's commentary has been critically edited in four volumes by [START_REF] Slaje | Bhāskarakaṇṭhas Mokṣopāyaṭīkā[END_REF]Slaje ( , 1995Slaje ( , 1996Slaje ( and 2002)).

Unfortunately, I have found noin-depth discussion of the way in which Bhāskara's commentary can contribute to the constitution of the critical text (apart from a few lines in Krause-Stinner's preface p.xxi citing Slaje 1993:7, although I may have overlooked something, given the somewhat labyrinthine nature of the publications on the subject). What Bhāskara read has been of course edited by Slaje, in his edition of the commentary. Slaje rightly emphasizes that his editionis not a critical edition of the mūla, although it does constitute a first step toward such an edition (Slaje 1993:10-13 and 17). It therefore reproduces the Mokṣopāya as read by the commentator, wherever his reading can be established (Slaje 1993:17). This is indeed what Slaje doesapart from a few minor glitches or typos, as in 2.14.27b, where the commentary seems to read kalanā as Hanneder's edition also confirms, but Slaje's mūla haskalpanā, agreeing, somewhat surprisingly, with the critical edition and the majority of the MSS of the Mokṣopāya itself.

The absence of any detailed discussion of Bhāskara's testimony suggests that it is not considered to be more important than any manuscript of the Mokṣopāya. Indeed, it appears so in some cases, when it goes off to a (wrong) direction of its own, such as in 3.10.52, where it has an idiosyncratic and inferior reading ṣaṣṭḥendriyātītam for ṣaṣṭhendriyonmuktam. However, in many other cases it may deserve to be taken more seriously, as is done in 1.9.32b, for instance, where its reading of saṃsthiti is accepted against saṃprāpti found in all the MSS. On a few occasionsthe editors reject the Ṭīkā's reading perhaps slightly too hastily. In 1.1.14, the Ṭīkā clearly reads potenevātha with MSS Ś4 and N11, but potenevāśu is accepted, on the grounds that it is semantically better (and perhaps also in order to keep a reading that is not that of the Nāgarī recension). The Ṭīkā even remarks (as is noted in the Stellenkommentar) that atha is a filler here. Indeed, it does seem to be a filler and it is difficult to explain how and why such a filler would be secondary, while āśu appears more likely to be introduced precisely because atha was felt to be a filler and āśu, in spite of the repetition of information already contained in kṣipram, was perceived asstylistically better. Note also that a similar case of intrusive atha can be found in 4.1.18a (tathaivātha). Of course the above example is also a question of editorial taste. Yet, there is another problem with the way in which the Ṭīkā's testimony is handled: namely that it is not systematically reported, and when it is reported, itis not always done in an unambiguous way. This creates a certain amount of uncertainty. In such situations one must actually look at the Ṭīkā edition itself, for the edition of the Mokṣopāyadoes not provide the necessary information. Let us see some examples.

In 1.4.15d, the Ṭīkā is not reported to agree with the lemma (vikārayanti), only the MSS containing the Ṭīkā (MSS Ś4 and N11)are reported to agree with it, whilethe Ṭīkā appears to include the variant readingvikāravanti. Looking at the Ṭīkā edition, it turns out that the first reading of the Ṭīkā itself in fact does agree with the accepted vikārayanti, and it gives vikāravanti as a second (variant) reading.One can of course assume that this is the case, but it would be useful to have such information laid out in the critical edition, to avoid ambiguity.

In 1.6.15a the Ṭīkā seems to have an unmetrical reading at first sight, for it is reported to have tena for ca tena samāsādya.This seems rather surprising, but if one checks the place in the Ṭīkā edition, it is clear that the Ṭīkā certainly had a metrical reading. Nevertheless, the commentary only supports the reading of the word tena and not the rest of the lemma, and this might be the reason for reporting it only for tena.But such way of reporting the Ṭīkā is ambiguous, for it might be understood to have an unmetrical reading rather than a partial support. If unmetrical readings were otherwise signalled as such (which is unfortunately not the case), the reader would not have this doubt.

The reader of course can see on a large number of occasions that Bhāskara's readings may not always be trusted (see e.g. 4.1.11a), just as the MSS too sometimes present readings that need to be emended. In 3.20.35a, the conjectural emendation of me to te is absolutely necessary in the context of the dialogue, as is the case in 3.25.34c, where theobviously wrong acalanīkam is emended to acalānīkam (unfortunately, no variant of the codd. is noted and, probably by oversight, the wrong reading acalanīkam has remained in the text). Similarly, in 3.64.13a sarge seems to be rightly conjectured for sargo/mārgo/mārge, and in 2.31.29d the emendation of sthitis to sthitim is required by the syntax.

The editors are cautious when conjecturing and it is rare that their proposal seems questionable. One such occasion may be 3.4.14c, where the conjecture maunātmā for maunātma is made, so that it should agree with the masculine ātmā. The Stellenkommentar, referring to Bhāskara's tendentious interpretation, fails to convince, for even if Bhāskara's understanding is not true to the spirit of the original, his reading may well be primary. The neuter reading maunātma seems to be an appropriate description of manas, which is also said to be sluggish or inactive (manthara in the sense of jaḍa, as rightly pointed out in the Stellenkommentar). Manthara and maunātma can both qualify manas in a somewhat nirukti type series of qualifications. This does not amount to say that the conjecture is implausible; but given that the reading of the MSS does not appear wrong, it is perhaps not necessary to emend the text.

Another, possibly important, testimony that appears to be referred to in an inconsistent way, at least at first sight, is the Mokṣopāyasaṃgraha (Śsam). Its readings are often reported in the first volume of the edition, but nowhere in the first half of the second volume. In this case, however, there is a reason: as Hanneder (2006: 10) points out, this work is actually not a summary, contrarily to what its title suggests, but a work that contains all the philosophical passages of the original, while omitting the narrative ones. Since the first part of the Utpattiprakaraṇa consists of ākhyānas, the Saṃgraha (as the informed reader can assume) completely omits them. Unfortunately, one is not reminded here of this fact, and those who have not read the different publications concerning the Mokṣopāya (see also [START_REF] Hanneder | The Mokṣopāyasaṃgraha[END_REF] for the Saṃgraha) may remain perplexed.

Another, not particularly user-friendly aspect of the publication is that no indices have been included. This would not be a problem if the text was available in an electronic form, but it is not the case and no plan for an electronic publication appears to be mentioned either. Let us hope that at least the constituted Sanskrit text will be made available online once the project is finished.

Given the complexity of the work and the large amount of text edited, there seem to be very few typos or misprints. In addition to those mentioned above, one may be easily noticedin vol. 2. p. viii, where Mokṣopāya is probably intended as a subtitle and was meant to be set in bold and larger typeface, but is written in a smaller type and a visibly different font. In the same volume, p. xii note 12 has 'Siehe Bidez and Drachman...' for 'Siehe Bidez und Drachman'. In the edition, 2.7.21d has 'Nthirteen' in the apparatus (I assume the backslash was omitted in the TeX command); and the reading gāminīs is given as of 2.60.55c instead of 2.60.55d.

The task of editing the Mokṣopāya may be called a truly heroic exploit in philology, a task comparable to editing the Rāmāyaṇa, for the Mokṣopāya even surpasses the epic in length. As Goethe's words chosen by the editors for a motto show, one may sometimes feel that it cannot be accomplished without divine grace. All the editorsand the project supervisor, Prof. Walter Slaje, must therefore be congratulated upon accomplishing a major part of this enormous taskwith scholarly rigour. Although the edition is not userfriendly in every respect and often requires the reader to consult several additional volumes, the online Stellenkommentarand various papers by the editors, it presents all the data necessary for the reader to judge the available evidence for any particular passage. Italso successfully reconstructs a text that is arguablythe closest possible version to what the Kashmirian Mokṣopāya was in the tenth century. This all sounds very simple, yet preparing such a critical edition requires not only thorough, but also thoughtful and resourceful philological work, in which the editors have demonstrated their proficiency. The readers can be grateful to them for making available this original and fascinating text for further study, which willenhance our knowledge of medieval Kashmir as well as of Indian philosophy in general.

Judit Törzsök


Stefhan Van Helvoirt
email: svhelvoirt@gmail.com

Hans Weigand
email: h.weigand@tilburguniversity.edu

Operationalizing Data Governance via Multi-level Metadata Management

Keywords: Data warehouses, data governance, metadata, business rule enforcement

Today's rapidly changing and highly regulated business environments demand that organizations are agile in their decision making and data handling. At the same time, transparency in the decision making processes and in how they are adjusted is of critical importance as well. Our research focusses on obtaining transparency by not only documenting but also enforcing data governance policies and their resultant business and data rules by using a multilevel metadata approach. The multi-level approach makes a separation between different concerns: policy formulation, rule specification and enforcement. This separation does not only give more agility but also allows many different implementation architectures. The main types are described and evaluated.

Introduction

The amount of data that is available in the digital universe is growing at an exponential rate and will only continue to grow with the rise of new technologies such as the Internet of Things. Nowadays data is more important than ever before due to the speed of business change. This is emphasized with the rise and use of Master Data Management (MDM) systems in the last decade. MDM adds a new dimension to the data that focusses on establishing integration and interoperability of heterogeneous databases and applications in a business oriented manner [START_REF] Bonnet | Enterprise Data Governance: Reference and Master Data Management Semantic Modeling[END_REF].

Recent studies have shown that organizations that are capable of effectively utilizing and analyzing their data outperform their competitors [START_REF]Outperforming in a data-rich hyper-connected world[END_REF]. In order to actively use the data that is available both within and outside the organization, the organization must find a way to actively and sufficiently tag the data with metadata [START_REF]Understanding Metadata[END_REF]. Especially in a new digital world in which organizations are rapidly integrating data from various heterogeneous sources. This need is emphasized with the rise of new data warehouse platforms such as IBM's Data Reservoir. Having a proper data governance program in place is crucial for effectively managing the data that resides in such aggregated environment [START_REF] Cheong | The Need for Data Governance: A Case Study[END_REF].

What is important in today's highly regulated business environments is not only effective data governance but also that the governance is transparent and auditable. For instance, exporting and importing shippers need to comply with tax regulations and customs security controls. It is very hard for companies to prove compliance if the data infrastructure is not well-controlled in a transparent way. Sometimes data governance is mandatory by law as with BASEL BCBS 239, effective from 1/1/2016.

Our research goal is obtaining adaptability and transparency by not only documenting but also enforcing data governance policies and their resultant business and data rules. In this paper, we introduce a multi-level framework and use it to evaluate the current capabilities of IBM's InfoSphere package as used in its Data Reservoir solution, while also providing incentives to further extent the governance capabilities. Additional layers of logic are added to reify governance policies in data movement, applications and databases. A preamble on Data Governance and metadata is provided in Section 2, to lay the foundation for our multi-level metadata framework discussed in Section 3. Section 4 continues with an overview of various implementation styles to establish a Data Governance environment and Section 5 evaluates IBM InfoSphere offerings to establishing operationalized Data Governance.

Background

Data Governance versus Data Management

According to Khatri and Brown [START_REF] Khatri | Designing data governance[END_REF], based on Weill and Ross, "governance refers to what decisions must be made to ensure effective management and use of IT (decision domains) and who makes the decisions (locus of accountability for decision making). Management involves making and implementing decisions." Data management activities focus on the development and execution of architectures, policies, practices and procedures to enhance and manage the information lifecycle within a specific application and mostly during data entry/creation. Data Governance on the other hand also includes aggregated and integrated data that is made available as a data asset within the organization.

The Data Governance domain consists of three focus areas; people, processes and technology. Many publications on data governance focus primarily on the people and processes aspects of implementing a data governance program. We can use IBM's holistic approach to Big Data governance as an example, which consists out of the following six sets: define business problem, obtain executive sponsorship, align teams, understand data risk and value, implement analytical/ operational projects and measure results. Its focus has been primarily on the first four steps. Our focus is mainly on the "implement analytical/operational projects" from a technical perspective as this appears to be research gap. However, all steps in the holistic approach are needed in order to have an efficient and reliable data governance program. Capturing and enforcing business rules, without the proper knowledge of the available data, its value and the interdependencies between data is undoable and undesirable. We do not underestimate the political change that is needed to transform the organization into an information-driven environment. An overall transition needs to be made from thinking and developing individual applications to a unified acceptance and usage of data as the foundation of information and knowledge [START_REF] Marco | Practical Steps for Overcoming Political Challenges in Data Governance[END_REF].

Data quality and trust

Governance is more than achieving compliance [START_REF] Klein | Metadata is 'Not' a Technical Term Anymore: Frame to Work[END_REF]. Achieving data governance has to do with adopting practices and principles that increase data quality and trust. Having established data quality and trust, the organization can start using their data in a reliable and controlled manner and evaluate its data usage and governing capabilities by implementing appropriate metrics. A valuable data quality standard currently in development is ISO 8000. It focusses on data characteristics and exchange in terms of vocabulary, syntax, semantics, encoding, provenance, accuracy and completeness.

Metadata as indispensable enabler

The importance and utilization of metadata has been increasing rapidly over the last decade as metadata is making its transition from a technical aspect to a business necessity. Metadata is needed for establishing data quality and turning data into understandable information that can be consumed by both business/IT users and software for automation.

Looking at publications on metadata form the past fifteen to twenty years shows that there are various types and classifications of metadata, each with its own specific purpose and granularity. This paper uses the metadata framework as presented by Ron Klein (KPMG) at the 2014 ECCMA conference [START_REF] Klein | Metadata is 'Not' a Technical Term Anymore: Frame to Work[END_REF]. This metadata framework consists of three vertical levels and three horizontal levels. The vertical levels are business, technical and operational, while the horizontal levels consist of the categories descriptive, administrative and lineage. Business metadata includes business terms, data owners, stewards, and governance policies and business rules governing the data. Technical metadata is used for tool integration to manage, transform and maintain the data. Examples of technical metadata are database system names, table and column names, code values and derivation rules. Operational metadata contains run-time information e.g. last load, usage statistics and log reports. In short, business metadata has a value and meaning for business oriented users, technical metadata is used primarily by Extract, Transform, Load (ETL) developers while operational metadata is used to provide insights in data usage and rule validation.

Multi-level Metadata Management

In the following, we will focus on the policies behind the meta-data as such, for instance, policies and access control, policies on quality requirements, or policies on the use of semantic standards, rather than the meta-data tags themselves. Our goal is transforming descriptive data governance policies into implementable rules by using a multi-level metadata approach. The multi-level metadata model consists of four levels as depicted in Figure 1. Distinguishing these levels leads to maximal adaptability and transparency (cf. [START_REF] Gong | From policy implementation to business process management: Principles for creating flexibility and agility[END_REF]).

Fig. 1. Multi-level Metadata Management framework

Policies are abstract formulations of business goals, desirable behavior, guidelines and generally accepted practices. Business rules are a formalization of a (partial) aspect of a policy, stating the trigger and follow-up action in a structural natural language consisting of business terminology. Implementable rules are executable objects that contain the logic needed to enforce the business rule. How a business rule is implemented and enforced is entirely dependent on enforcement strategy of that specific rule. As mentioned by Weigand et al [START_REF] Weigand | Business policy compliance in service-oriented systems[END_REF], "although business rules are more formal than policies, they are still at the level of business requirements [38], rather than execution. They model "what" is required, rather than "how" it should be implemented" [START_REF] Weigand | Business policy compliance in service-oriented systems[END_REF]. The same paper emphasizes the need to clarify the enforcement strategy and provides four types of enforcement: preventive, punitive, corrective and adhortative.

Here adhortative means that the responsible user is requested to solve the violation when it is detected; the system does not prevent or correct it itself. Punitive means that a sanction is given on violation of the rule whereas corrective means that the system automatically corrects the violation and moves forward to a consistent state, typically by means of compensation. When the enforcement is separated from the business rule specification as such, this allows for great flexibility: the company can switch rather easily from a more loose adhortative approach to a strict preventive approach (or vice versa) depending on the desired compliance levels and operational costs.

Where the enforcement of a business rule takes place is highly dependent on the chosen enforcement strategy and goal of the business rule. For example, a policy stating that all telephone numbers should be formatted according to the applicable standard of the country that it applies to, will have a business rule declaring the use of a given standard for telephone numbers within a given region. This rule could be enforced at the point of data creation using a preventive strategy, or when data is analyzed, transformed and moved to a different location using a corrective strategy.

Business rules are defined as condition action (CA) rules and require a structural transformation to become executable condition action (ECA) rules.

Implementation Archetypes

Business rule extraction

For the enforcement of business rules, we start from the generally accepted approach expressed, among others, by Pierre Bonnet in his book on Enterprise Data Governance [START_REF] Bonnet | Enterprise Data Governance: Reference and Master Data Management Semantic Modeling[END_REF] in which the business knowledge is extracted from the software (hardcoding) and is presented to the business users in an environment that they can (partially) control. "Maintaining knowledge, in particular within complex and evolving organizations that characterize modern companies, cannot survive the trap set out by fixed and stratified hard-coded software, nor informal (textual) documentation, rarely up to date and non-executable". According to Bonnet, a software package must first be able to interact with an MDM system, before it can demonstrate its ability to enforce the relating business rules (BRMS) that will eventually affect the processes (BPM). "First the data, then the rules and finally the processes" [START_REF] Bonnet | Enterprise Data Governance: Reference and Master Data Management Semantic Modeling[END_REF]. This way, rules are defined per data domain and not based on the software package that uses the data.

Enforcement architectures

Isolating data governance rules from the code is one thing, but still leaves many choices on how to enforce the rules. Based on our analysis, we distinguish between a decentralized, centralized and leveled implementation archetype. The archetype that is most applicable to a given situation depends on the available resources and business requirements [START_REF] Wende | A Contingency Approach to Data Governance[END_REF]. For example, an analytical driven environment will have a specific way of enforcing policies as data is collected from various sources and ingested into one or multiple repositories designed and optimized for specific analytical computations (e.g. IBMs Data Reservoir). The enforcement of policies in such an environment could largely occur at the processing of data movement. On the other hand, enforcing governance policies on the actual applications/databases that create/store the data would require a different approach to integrating and enforcing policies. The difference in these three implementation styles as described in this section, is purely in the area of policy enforcement. Our base assumption is that policy and asset descriptions are high level and should not be restricted or influenced by the underlying technology and infrastructure. Furthermore, capturing, defining and maintaining the definition and description of policies and assets at domain or organizational level allows for greater consistency, transparency and manageability. However, this integration also has its costs and concerns. One of the concerns is that responsibility for some resource, including data, should not be taken away from the agents owning the data.

Fig. 2. Decentralized implementation

We start off by illustrating and defining the decentralized implementation style, displayed in Figure 2. In this example we have four data storages, each containing the (business) definitions of applicable policies (no pattern) and the resulting implementation code (striped pattern). The decentralized implementation is very common in situations where data governance maturity is low. This implementation style has some benefits and limitations as illustrated in the Table 1.

Table 1. Benefits and limitations of decentralized implementation

Benefits Limitations

Enforcement of policies as close to the source of data as possible.

Siloed knowledge resulting in a lack of reusability and increased risk of inconsistency among separated data storages.

Less dependencies and decreased systematic risk.

Monitoring compliance and conducting audits is costly and time consuming.

Although there are some benefits to mention for the decentralized implementation style, these do not outweigh the limitations. Especially in today's rapidly growing digital ecosystem, in which data is being created by an increased amount of utilities both within and outside the organization. A leveled or centralized implementation style would deliver a more feasible and desirable approach to enforcing data governance, however this requires the presence of a central governance catalog like system for centrally storing and defining data governance policies and assets (cf. [START_REF] Singh | A Metadata Catalog Service for Data Intensive Applications[END_REF]).

Fig. 3. Leveled implementation

The leveled (Figure 3) and centralized (Figure 4) implementation styles make use of a central governance catalog. The leveled implementation style uses a centralized governance catalog repository which is capable of storing the data asset definitions and data governance policies. These asset descriptions describe both the business characteristics of a dataset (business definition using business terminology, owner, steward etc.). Business assets and policies are linked to denote which policies should apply to a specific asset. The implementation and enforcement of these policies is conducted at the System of Record/Reference (SoR). This approach allows for the creation and maintenance of both asset descriptions and policies at a central level, allowing for greater transparency and consistency. At the same time, the implementation can make use of the tools most efficient for the particular SoR. However, there are also some drawbacks to this implementation style as shown in Table 2. To address the con-sistency problem, one could imagine an automated update system that pushes any changes in the policy definitions forward to the SoRs. However, when the diverse SoRs use different local enforcement tools, such an update may also require as many compilations as there are different SoRs.

Table 2. Benefits and limitations of leveled implementation

Benefits Limitations

Consistency in asset and policy definitions.

Gap between the definition of a policy and the actual implementation which could result in misinterpretation and incorrect enforcement.

Increased transparency in the available data and the rules that shape the data and its use throughout the data lifecycle.

Lack of consistency in the enforcement of policies due to high diversity of SoR sources.

Lastly, we have the centralized implementation style as displayed in Figure 4. A centralized implementation requires the presence of a governance catalog repository with enhanced and additional capabilities. We can distinguish at least three variants of centralized systems capable of establishing and enforcing governance policies on data assets. These variants differ in how users get access to the data: distributed or intermediated. The first being an environment in which end users direct their requests to the various source applications or databases that in turn call a service running on the governance catalog system to evaluate, conduct and if needed enforce a policy. In the second environment, the governance catalog functions as an intermediary that ingest data from various sources and uses ETL practices to conduct and enforce governance policies before providing the data to the requesting end user. Lastly is a hybrid environment of having both the capabilities of data movement/integration (second environment) and service-like enforcement (first environment).

Fig. 4. Centralized implementation

The hybrid environment contains the highest level of complexity to implement as it requires functionality for two entirely different environments. The first servicebased environment excels in a landscape in which policies are defined for enforcing rules designed for the data creation phase (rather than retrieval phase), while the second "intermediary" environment excels in a more analytical landscape in which data needs to be collected, aggregated and delivered to an end user or analytical application (e.g. SPSS). In the first environment we described, the governance catalogs functions primarily as a rule engine. In the second environment the governance catalog functions like a true catalog that controls the data flows from source systems to end users based on the governance policies that are defined. Both environments are needed to establish a holistic data governance solution. Table 3 summarizes the benefits and limitations of a centralized implementation strategy.

Table 3. -Benefits and limitations of centralized implementation

Benefits Limitations

Optimal consistency in asset and policy definitions and enforcement.

May lead to higher network load, possibly lower enforcement efficiency, Single Point of Failure.

Allows full integration of policies.

Requires high level of integration (organizational and technical).

Technological advances and the use of Enterprise Application Integration (EAI) and Service Oriented Architecture (SOA) to develop new applications and services help in establishing this service-oriented environment for discovering and analyzing of data. EAI allows for the extraction of business policies and rules from the applications, creating increased flexibility and agility. SOA is a framework to "address the requirements of loosely coupled standards-based and protocol-independent distributed computing, mapping enterprise information systems appropriately to the overall business process flow" [START_REF] Papazoglou | Service oriented architectures: approaches, technologies and research issues[END_REF]. Technological advances include, amongst others, new ways of processing data (e.g. NoSQL, in-memory, Hadoop), a decrease in storage costs and increase in memory and computing power to perform the needed operations and a move to semantic systems. SOA can be enhanced with semantic technologies, for instance, to improve service identification [START_REF] Vitvar | Semantic technologies for e-Government: an overview[END_REF].

Catalogue virtualization

Although a centralized governance catalogue has important management advantages, the drawback is that business usersin particular, the managers responsible for the data -are set on a distance. This can be remedied by virtualizing the catalogue. This means that the various data policies are stored in a distributed way, under the control of the business user. These business users are at various levels: company-wide standards are maintained at corporate level, other policies at division of department level. In the simplest form of virtualization, these distributed data policies are just synchronized regularly with the central governance catalog. Alternatively, there is only a virtual central catalog, the combination of all distributed policies. In both cases, we assume that policy owners receive feedback (dashboard) on the actual policy compliance.

A critical issue in such a solution is the consistency of the policies. Policies may be conflicting. For instance, a corporate policy may be that all management reports are readable for the internal audit group, whereas a manager may want to restrict access to members of his own department only. One business user may want to express weights in kg and another one in pounds. In the context of this paper, we just mention a few alternative solutions which roughly correspond to the general rule enforcement strategies that we mentioned in Section 3. One is to accept inconsistencies as a fact of life and include meta-rules for solving them. A meta-rule can be based on the company hierarchy where corporate policies overrule local ones. This corresponds to a corrective approach because it effectively makes changes in the policiesnot in their formulation, but in their application. Alternatively, we can take an adhortative approach that accepts inconsistencies but stimulates policy owners to avoid them at specification time. Closely related, a lazy evaluation (corresponding to a detective approach) can be used that detects conflicts when they actually occur and reports them back to the policy owners. This can be a pragmatic approach in situations of relative low governance where the probabilities of actual conflicts are low. Finally, the most rigid approach is to prevent any inconsistency by using a consistency checker before any policy is deployed. This is a challenge in a distributed environment, although in principle, such a checker is not different from the checkers in a centralized catalog. Last but not least, it is not necessary to choose only one approach. For instance, the company may use a preventive approach for all data standard policies and a detective approach for data access policies.

Once a virtual solution is in place, a next step can be to relax the centralization of the governance catalog. In large companies, a completely centralized approach is not realistic. Some distribution in "regions" or "zones" is unavoidable. In such a situation, a business user may be connected to one region, but also with more regions. Locally, he can manage his policies for both. Data traffic between regions is based on agreements that appear as policies in each of the regions involved.

The virtual solution described in this section can be combined smoothly with a strict distinction between "policy" and "rule" level, as sketched in Section 3. This means that the business users publish policies in a user-friendly policy language that is translated to formal business rules on the central catalog (physical or virtual).

State-of-the-art Governance Solutions: IBM InfoSphere

In this section, we analyze in depth one commercially available solution in data governance, IBM InfoSphere. Since this is considered state-of-the-art technology, it can be seen as representative. Our goal for this study was not to compare it with other products, but to see to what extent a multi-level governance model is or can be implemented with this solution. Our analysis is based on the system documentation, expert interviews, and user experience.

Description

Our evaluation of the IBM InfoSphere suites capability to define and enforce governance policies focuses on IBM InfoSphere Information Governance Catalog (formerly known as InfoSphere Business Information Exchange) and IBM InfoSphere DataStage. Additional tools such as IBM InfoSphere Information Analyzer, IBM InfoSphere Optim and IBM InfoSphere Guardium are used to illustrate specific enforcement examples. Information Governance Catalog is designed to contain both the business glossary (terminology) as well as a list of all available information assets (e.g. dataset, table, policies, and rules) and a variety of additional metadata to describe and define the asset. An information asset is defined as "a body of information, defined and managed as a single unit, so that it can be understood, shared, protected and exploited effectively. Information assets have recognizable and manageable value, risk, content and lifecycles" [START_REF]The Role of the Information Asset Owner: a Practical Guide[END_REF]. Information Governance Catalog allows for the creation of a hierarchical structure to define the relations between policies and rules. These rules can be assigned to a business term. The business term defines and references to the actual source of the authoritative data.

Fig. 5. Infosphere Information Governance

Enforcing data governance policies focusses primarily on achieving a compliance layer. The compliance layer consists of four areas; Policy Administration, Policy Implementation, Policy Enforcement and Policy Monitoring. A policy is a (natural language) description of business intent for a class of assets to adhere to a certain behavior. A rule defines how a policy will be implemented, it contains the policy response. Additionally to policies and rules are the control and enforcement points. A control point is a collection point for evidence that a policy is being complied with. An enforcement point is where a policy implementation (rule implementation or process) is executing. Enforcement points can be seen as hard enforcement measures that guarantee preventive compliance. Control points provide the soft enforcement which is used in the remediation that occurs after the fact. Soft enforcements are used in policies defined at a more abstract level that cannot be hard enforced.

Fig. 5 illustrates how information governance policies, governance rules, data rules and the information assets are related. There is some correspondence to the multi-level meta-data framework described above. One difference is that the information assets are related to the information governance rules (business rules), rather than implementable data rules, but if there is 1-1 relationship between data rule and information governance rule, the two representations are equivalent. However, there is no formal representation for the information governance policies and rules, and hence it is not possible to check the consistency of the rules or adapt them automatically.

Evaluation

Does the IBM InfoSphere suite support multi-level metadata to enable governance, and to what extent? To answer this question, we have looked at the capabilities to validate and enforce rules in the process of moving data (ETL) by using primarily IBM InfoSphere DataStage. Within DataStage we have the capability to create jobs for performing various ETL activities. These jobs can be assigned to a rule in the Governance Catalog as the implementable artifact. Executing a DataStage job results in the creation of operational metadata which is used to establish lineage and provide metadata to the governance dashboard. The operational metadata is mapped to IBM's private proprietary metadata model called XMeta. Besides generating data lineage the capabilities include measuring data quality and values using IBM InfoSphere Information Analyzer. Having insights into the quality and usage of data creates a tremendous increase in transparency for both business and technical users.

The Information Governance Catalog should be used as the central storage point for all the metadata that is needed for providing sufficient insights in definitions, usage, accountability and compliance. However, the current capabilities of enforcing rules and measuring their results requires a lot of technical expertise (ETL development etc.), which is undesirable in an environment that should be business driven. A more formal (semantic) approach to defining the rules should empower the business users with more capabilities to governing "their" data. Policy and rule administration are currently defined in free-text format, which could result in misinterpretations during the implementation and enforcement phase, and creates an opaque environment. A BRMS that utilizes the capabilities of defining rules in a natural structured language reduces opaque and misinterpretation, resulting in a more transparent environment. Answering the research question: IBM InfoSphere suite supports multi-level metadata to enable governance, but there is still a lot of room to enhance these capabilities to increase transparency and formalization. At the moment, it supports typically a leveled approach, not full centralization.

Conclusion

In order to operationalize data governance, the implementing organization needs to have the resources and capabilities in place to define and enforce data governance policies and rules. Using a multi-level metadata framework we created an insightful segregation between defining the policy and rule specifications and the resultant implementation of rules and jobs. With this segregation in place, and the capability of empowering qualified business users to define governance specifications, allows for better adaptability and transparency of data governance. As this paper presented, there are various ways of implementing a multi-level metadata framework. Having the capability to enforce policies and rules both in a centralized and decentralized man-

ner, allows for the most flexibility. However, specific software might need to be purchased to establish an environment for this in the form of a governance catalog. IBM InfoSphere suite provides most of the capabilities needed to start operationalizing a multi-level data governance program, but formalization of policies and rules is needed in order to get to a higher level, in particular, to one supporting self-adaptation.