<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.1 20151215//EN" "http://jats.nlm.nih.gov/publishing/1.1/JATS-journalpublishing1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" article-type="research-article" dtd-version="1.1">
<front>
<journal-meta>
<journal-id journal-id-type="pmc">CMC</journal-id>
<journal-id journal-id-type="nlm-ta">CMC</journal-id>
<journal-id journal-id-type="publisher-id">CMC</journal-id>
<journal-title-group>
<journal-title>Computers, Materials &#x0026; Continua</journal-title>
</journal-title-group>
<issn pub-type="epub">1546-2226</issn>
<issn pub-type="ppub">1546-2218</issn>
<publisher>
<publisher-name>Tech Science Press</publisher-name>
<publisher-loc>USA</publisher-loc>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="publisher-id">18636</article-id>
<article-id pub-id-type="doi">10.32604/cmc.2021.018636</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Article</subject>
</subj-group>
</article-categories>
<title-group>
<article-title>An Optimal Lempel Ziv Markov Based Microarray Image Compression Algorithm</article-title>
<alt-title alt-title-type="left-running-head">An Optimal Lempel Ziv Markov Based Microarray Image Compression Algorithm</alt-title>
<alt-title alt-title-type="right-running-head">An Optimal Lempel Ziv Markov Based Microarray Image Compression Algorithm</alt-title>
</title-group>
<contrib-group content-type="authors">
<contrib id="author-1" contrib-type="author" corresp="yes">
<name name-style="western">
<surname>Sowmyalakshmi</surname>
<given-names>R.</given-names>
</name>
<xref ref-type="aff" rid="aff-1">1</xref>
<email>sowmya.anand2007@gmail.com</email>
</contrib>
<contrib id="author-2" contrib-type="author">
<name name-style="western">
<surname>Waly</surname>
<given-names>Mohamed Ibrahim</given-names>
</name>
<xref ref-type="aff" rid="aff-2">2</xref>
</contrib>
<contrib id="author-3" contrib-type="author">
<name name-style="western">
<surname>Sikkandar</surname>
<given-names>Mohamed Yacin</given-names>
</name>
<xref ref-type="aff" rid="aff-2">2</xref>
</contrib>
<contrib id="author-4" contrib-type="author">
<name name-style="western">
<surname>Jayasankar</surname>
<given-names>T.</given-names>
</name>
<xref ref-type="aff" rid="aff-1">1</xref>
</contrib>
<contrib id="author-5" contrib-type="author">
<name name-style="western">
<surname>Ahmad</surname>
<given-names>Sayed Sayeed</given-names>
</name>
<xref ref-type="aff" rid="aff-3">3</xref>
</contrib>
<contrib id="author-6" contrib-type="author">
<name name-style="western">
<surname>Rani</surname>
<given-names>Rashmi</given-names>
</name>
<xref ref-type="aff" rid="aff-3">3</xref>
</contrib>
<contrib id="author-7" contrib-type="author">
<name name-style="western">
<surname>Chavhan</surname>
<given-names>Suresh</given-names>
</name>
<xref ref-type="aff" rid="aff-4">4</xref>
<xref ref-type="aff" rid="aff-5">5</xref>
</contrib>
<aff id="aff-1"><label>1</label><institution>Department of Electronics and Communication Engineering, University College of Engineering, BIT Campus, Anna University</institution>, <addr-line>Tiruchirappalli, 620024</addr-line>, <country>India</country></aff>
<aff id="aff-2"><label>2</label><institution>Department of Medical Equipment Technology, College of Applied Medical Sciences, Majmaah University</institution>, <addr-line>Al Majmaah, 11952</addr-line>, <country>Saudi Arabia</country></aff>
<aff id="aff-3"><label>3</label><institution>Department of Computer Engineering, College of Engineering and Computing, Al Ghurair University</institution>, <addr-line>Dubai, 37374</addr-line>, <country>United Arab Emirates</country></aff>
<aff id="aff-4"><label>4</label><institution>Automotive Research Center, Vellore Institute of Technology</institution>, <addr-line>Vellore, 632014</addr-line>, <country>India</country></aff>
<aff id="aff-5"><label>5</label><institution>Federal University of Piau&#x00ED;</institution>, <addr-line>Teresina, 64049-550, PI</addr-line>, <country>Brazil</country></aff>
</contrib-group>
<author-notes>
<corresp id="cor1">&#x002A;Corresponding Author: R. Sowmyalakshmi. Email: <email>sowmya.anand2007@gmail.com</email></corresp>
</author-notes>
<pub-date pub-type="epub" date-type="pub" iso-8601-date="2021-07-13"><day>13</day><month>07</month><year>2021</year>
</pub-date>
<volume>69</volume>
<issue>2</issue>
<fpage>2245</fpage>
<lpage>2260</lpage>
<history>
<date date-type="received"><day>15</day><month>3</month><year>2021</year>
</date>
<date date-type="accepted"><day>20</day><month>4</month><year>2021</year>
</date>
</history>
<permissions>
<copyright-statement>&#x00A9; 2021 Sowmyalakshmi et al.</copyright-statement>
<copyright-year>2021</copyright-year>
<copyright-holder>Sowmyalakshmi et al.</copyright-holder>
<license xlink:href="https://creativecommons.org/licenses/by/4.0/">
<license-p>This work is licensed under a <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 International License</ext-link>, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.</license-p>
</license>
</permissions>
<self-uri content-type="pdf" xlink:href="TSP_CMC_18636.pdf"></self-uri>
<abstract>
<p>In the recent years, microarray technology gained attention for concurrent monitoring of numerous microarray images. It remains a major challenge to process, store and transmit such huge volumes of microarray images. So, image compression techniques are used in the reduction of number of bits so that it can be stored and the images can be shared easily. Various techniques have been proposed in the past with applications in different domains. The current research paper presents a novel image compression technique i.e., optimized Linde&#x2013;Buzo&#x2013;Gray (OLBG) with Lempel Ziv Markov Algorithm (LZMA) coding technique called OLBG-LZMA for compressing microarray images without any loss of quality. LBG model is generally used in designing a local optimal codebook for image compression. Codebook construction is treated as an optimization issue and can be resolved with the help of Grey Wolf Optimization (GWO) algorithm. Once the codebook is constructed by LBG-GWO algorithm, LZMA is employed for the compression of index table and raise its compression efficiency additionally. Experiments were performed on high resolution Tissue Microarray (TMA) image dataset of 50 prostate tissue samples collected from prostate cancer patients. The compression performance of the proposed coding esd compared with recently proposed techniques. The simulation results infer that OLBG-LZMA coding achieved a significant compression performance compared to other techniques.</p>
</abstract>
<kwd-group kwd-group-type="author">
<kwd>Arithmetic coding</kwd>
<kwd>dictionary based coding</kwd>
<kwd>Lempel-Ziv Markov chain algorithm</kwd>
<kwd>Lempel-Ziv-Welch coding</kwd>
<kwd>tissue microarray</kwd>
</kwd-group>
</article-meta>
</front>
<body>
<sec id="s1">
<label>1</label>
<title>Introduction</title>
<p>Microarray analysis is a technology which enables the analysis and classification of genes in a rapid manner. At present, microarray is the main tool for gene-based investigations [<xref ref-type="bibr" rid="ref-1">1</xref>]. Microarray technique is used to monitor large number of tissue array images in a concurrent manner. Every microarray experiment produces numerous large-sized images which are hard to store or share [<xref ref-type="bibr" rid="ref-2">2</xref>]. Such massive number of microarray images imposes a new challenge for storage space and bandwidth resources. In the absence of high speed internet, it is difficult or sometimes impossible to share microarray images from some parts of the world. Several studies have been conducted to handle the storage of massive number of microarray image datasets in an efficient manner. Image compression is one of the ways to handle such huge volume of images.</p>
<p>In general, the intention of image compression is to transfer an image with fewer bits. Image compression has three major components such as recognition of redundant data in image, appropriate coding method and transformation method. The most important image compression standard is JPEG and its quantization can be divided into two kinds namely, scalar and vector (SQ and VQ). It is a non-convertible compression method and is commonly used in the compression of image with some loss of information. The foremost intention of VQ is to generate an optimal codeword that has a collection of codewords, where an input image vector is allocated based on minimum Euclidean distance. The popular VQ method is Linde&#x2013;Buzo&#x2013;Gray (LBG) model. LBG method offers simplicity, adaptability and flexibility. Further, the method depends on lower Euclidean distance between image vectors and respective codewords. It can generate local optimal solutions and in other terms, it fails in providing the best global solutions. The concluding solution of LBG algorithm is based on arbitrarily-produced codebook at the initial stage.</p>
<p>An enhanced form of LBG algorithm termed &#x2018;ELBG&#x2019; algorithm was introduced in the literature which enhances its local optimal solution [<xref ref-type="bibr" rid="ref-3">3</xref>]. ELBG is mainly applied in the optimal exploitation of codewords, an efficient tool to resolve the difficulties of clustering techniques. The outcomes pointed out that ELBG outperformed LBG and is independent from initial codebook. Projection VQ (PVQ) was presented based on the adoption of quadtree decomposition to segment the images into different block sizes. This technique was defined by Single Orientation Reconstruction (SOR) and enhanced results were produced in terms of objective as well subjective ways in comparison with usage of predefined block sizes [<xref ref-type="bibr" rid="ref-4">4</xref>]. Object-relied VQ is carried out in three levels namely, initialization, iteration and finalization. Initially, it applies Max&#x2013;Min algorithm while at the second level, it makes use of adaptive LBG algorithm. The third level removes the redundant data from codebook [<xref ref-type="bibr" rid="ref-5">5</xref>].</p>
<p>To overcome the limitations of existing algorithms found in the literature, the authors propose a GWO model in current research paper to construct a novel codebook that results in better VQ in terms of high PSNR and good quality reconstructed image. This paper presents a novel image compression technique i.e., Optimized Linde&#x2013;Buzo&#x2013;Gray (OLBG) with Lempel Ziv Markov Algorithm (LZMA) coding technique called OLBG-LZMA for microarray images without any loss of quality. The proposed OLBG-LZMA model is used to compress high resolution Tissue Microarray (TMA) images. LBG model is generally used in designing a local optimal codebook for image compression. Codebook construction is treated as an optimization issue and is solved with the help of Grey Wolf Optimization (GWO) algorithm. After the codebook is constructed by LBG-GWO algorithm, LZMA is employed in the compression of index table and to increase the compression efficiency. Experiments were performed on high resolution Tissue Microarray (TMA) image dataset containing 50 prostate tissue samples acquired from prostate cancer patients. The compression performance of the proposed method was compared with recently proposed techniques.</p>
</sec>
<sec id="s2">
<label>2</label>
<title>Literature Review</title>
<p>Quad Tree (QT) degradation is composed of VQ with different sized blocks under the examination of local sites [<xref ref-type="bibr" rid="ref-6">6</xref>]. At the same time, the researchers in the literature [<xref ref-type="bibr" rid="ref-7">7</xref>] noticed that the complexity level of local regions is highly important, when compared with homogeneity. In Vector Quantization (VQ) of images with different block sizes, tedious regions of an image are quantified using Local Fractal Dimension (LFD). A fuzzy-based VQ, which makes use of competing accumulation and new codeword migration approach, was introduced to perform image compression [<xref ref-type="bibr" rid="ref-8">8</xref>]. Likewise, the authors in the literature [<xref ref-type="bibr" rid="ref-9">9</xref>] employed a learning process which methodologically develops fast fuzzy clustering-based VQ techniques by integrating three learning modules [<xref ref-type="bibr" rid="ref-9">9</xref>]. On the other hand, a Multivariate VQ (MVQ) method was developed using Fuzzy C-Mean (FCM) to compress Hyperspectral Imagery (HSI). The experimentation inferred that the MVQ is superior to traditional VQ in terms of Mean Square Error (MSE) and the quality of recreated image [<xref ref-type="bibr" rid="ref-10">10</xref>]. In the literature [<xref ref-type="bibr" rid="ref-11">11</xref>], it is noted that the images can be compressed using the transformed VQ, in which the quantized image can be transformed using Discrete Wavelet Transform (DWT) [<xref ref-type="bibr" rid="ref-11">11</xref>].</p>
<p>Recently, evolutionary algorithms have been introduced to solve many engineering and technological problems. The study conducted earlier [<xref ref-type="bibr" rid="ref-12">12</xref>] employed Ant Colony Optimization (ACO) algorithm for codebook construction. A codebook was developed using ACO which mimics the wavelet coefficients in a bidirectional graph and defines an appropriate method to place the edges on graph. The method was found to be efficient than LBG though it requires more CT. A fast ACO algorithm was introduced in the literature [<xref ref-type="bibr" rid="ref-13">13</xref>] which generates the codebook based on the observation of repetitive computations present in ACO algorithm. Since the repetitive computations are identified in codebook design, the convergence time got reduced than the classical ACO algorithm. Furthermore, a PSO-based VQ was presented, which updates the particle global best (gbest) and local best (pbest) solutions which surpassed the LBG method [<xref ref-type="bibr" rid="ref-14">14</xref>].</p>
<p>A fuzzy-based PSO algorithm, proposed in the study [<xref ref-type="bibr" rid="ref-15">15</xref>], was able to provide efficient codebook globally. The enhanced results were attained in comparison with PSO and LBG methods. QPSO was introduced in the literature [<xref ref-type="bibr" rid="ref-16">16</xref>] to resolve the knapsack problem and maximize the PSO results. The attained simulation outcome of QPSO method was optimal than the traditional PSO. A tree-based VQ was presented for fast codebook design by applying the triangle inequality which in-turn offered better codewords. However, the method required high Computation Time (CT) [<xref ref-type="bibr" rid="ref-17">17</xref>]. Hence, in the study [<xref ref-type="bibr" rid="ref-18">18</xref>], the researchers presented a fast codebook search method which applies two test criteria to enhance the image encoding process with no additional image distortion. From the results, it is noted that the CT got reduced to an average of 95.23% for a codebook of 256 codewords [<xref ref-type="bibr" rid="ref-18">18</xref>]. A near optimal codebook was developed using Bacterial Foraging Optimization Algorithm (BFOA) to attain better reconstructed image quality with high PSNR [<xref ref-type="bibr" rid="ref-19">19</xref>].</p>
<p>Fuzzy Membership Functions (FMF) were selected as objective functions and were optimized using the modified BFOA. A HBMO algorithm-based VQ technique was presented in one of the investigations conducted earlier [<xref ref-type="bibr" rid="ref-20">20</xref>]. It achieved better image superiority and codebook with minimal distortion than PSO, QPSO and LBG algorithms altogether. The researchers [<xref ref-type="bibr" rid="ref-21">21</xref>] used FA to design the codebook for VQ. FF algorithm was stimulated by the nature of flashing patterns for communication and mating purposes. FFs, with high brightness, are attracted by low bright FFs or else random search takes place, which reduces the exploration part. Hence, FA was altered in the literature [<xref ref-type="bibr" rid="ref-22">22</xref>] which provided a particular mechanism to follow in case of unavailability of brighter FFs in the search space. A bat algorithm [<xref ref-type="bibr" rid="ref-23">23</xref>]-based codebook design was devised with a proper choice of tuning variables and the study ensured better performance with higher PSNR value and convergence time in comparison with traditional FF algorithm. An efficient VQ method was proposed by the researchers in [<xref ref-type="bibr" rid="ref-24">24</xref>] to encode the wavelet decomposed color image using Modified Artificial Bee Colony (ABC) optimization technology. The proposed model was compared with Genetic Algorithm (GA) and classical ABC. The model attained better PSNR and good reformed image supremacy [<xref ref-type="bibr" rid="ref-24">24</xref>]. In spite of the established models in literature, there is a gap still exists to be fulfilled.</p>
</sec>
<sec id="s3">
<label>3</label>
<title>The Proposed Methodology</title>
<p>The proposed model involves two stages such as OLBG-based codebook construction and LZMA-based codebook compression. The working processes are detailed in the succeeding sections.</p>
<sec id="s3_1">
<label>3.1</label>
<title>Vector Quantization (VQ)</title>
<p>VQ is defined as a block coding model which is used to compress images at some loss of information. In VQ, codebook construction is an essential process. Let <inline-formula id="ieqn-1"><mml:math id="mml-ieqn-1"><mml:mrow><mml:mi mathvariant="normal">Y</mml:mi></mml:mrow><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="normal">y</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="normal">i</mml:mi><mml:mi mathvariant="normal">j</mml:mi></mml:mrow></mml:mrow></mml:msub><mml:mo>}</mml:mo></mml:mrow></mml:math></inline-formula> be the size of raw image with <inline-formula id="ieqn-2"><mml:math id="mml-ieqn-2"><mml:mrow><mml:mi mathvariant="normal">M</mml:mi></mml:mrow><mml:mo>&#x00D7;</mml:mo><mml:mrow><mml:mi mathvariant="normal">M</mml:mi></mml:mrow></mml:math></inline-formula> pixels which are partitioned into different block sizes of <inline-formula id="ieqn-3"><mml:math id="mml-ieqn-3"><mml:mrow><mml:mi mathvariant="normal">n</mml:mi><mml:mi mathvariant="normal">x</mml:mi><mml:mi mathvariant="normal">n</mml:mi></mml:mrow></mml:math></inline-formula> pixels. In other words, an input vector <inline-formula id="ieqn-4"><mml:math id="mml-ieqn-4"><mml:mrow><mml:mi mathvariant="normal">X</mml:mi></mml:mrow><mml:mo>=</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="normal">x</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="normal">i</mml:mi></mml:mrow></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#xA0;</mml:mtext><mml:mrow><mml:mi mathvariant="normal">i</mml:mi></mml:mrow><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:mn>2</mml:mn><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:msub><mml:mrow><mml:mi mathvariant="normal">N</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="normal">b</mml:mi></mml:mrow></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> contains a set of <inline-formula id="ieqn-5"><mml:math id="mml-ieqn-5"><mml:msub><mml:mrow><mml:mi mathvariant="normal">N</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="normal">b</mml:mi></mml:mrow></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mo>[</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mrow><mml:mi mathvariant="normal">N</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="normal">n</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>]</mml:mo></mml:mrow><mml:mo>&#x00D7;</mml:mo><mml:mrow><mml:mo>[</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mrow><mml:mi mathvariant="normal">N</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="normal">n</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>]</mml:mo></mml:mrow></mml:math></inline-formula> and <inline-formula id="ieqn-6"><mml:math id="mml-ieqn-6"><mml:mrow><mml:mi mathvariant="normal">L</mml:mi></mml:mrow></mml:math></inline-formula> indicates <inline-formula id="ieqn-7"><mml:math id="mml-ieqn-7"><mml:mrow><mml:mi mathvariant="normal">n</mml:mi></mml:mrow><mml:mo>&#x00D7;</mml:mo><mml:mrow><mml:mi mathvariant="normal">n</mml:mi></mml:mrow></mml:math></inline-formula>. The input vector <inline-formula id="ieqn-8"><mml:math id="mml-ieqn-8"><mml:msub><mml:mrow><mml:mi mathvariant="normal">x</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="normal">i</mml:mi></mml:mrow></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#xA0;</mml:mtext><mml:msub><mml:mrow><mml:mi mathvariant="normal">x</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="normal">i</mml:mi></mml:mrow></mml:mrow></mml:msub><mml:mo>&#x2208;</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="fraktur">R</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="normal">L</mml:mi></mml:mrow></mml:mrow></mml:msup><mml:mo>,</mml:mo></mml:math></inline-formula> is L-dimensional Euclidean space. A codebook <inline-formula id="ieqn-9"><mml:math id="mml-ieqn-9"><mml:mrow><mml:mi mathvariant="normal">C</mml:mi></mml:mrow></mml:math></inline-formula> contains L-dimensional code words where <inline-formula id="ieqn-10"><mml:math id="mml-ieqn-10"><mml:mrow><mml:mi mathvariant="normal">C</mml:mi></mml:mrow><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="normal">c</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:msub><mml:mrow><mml:mi mathvariant="normal">c</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:msub><mml:mrow><mml:mi mathvariant="normal">c</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="normal">N</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="normal">c</mml:mi></mml:mrow></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub><mml:mo>}</mml:mo></mml:mrow></mml:math></inline-formula>, <inline-formula id="ieqn-11"><mml:math id="mml-ieqn-11"><mml:msub><mml:mrow><mml:mi mathvariant="normal">c</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="normal">j</mml:mi></mml:mrow></mml:mrow></mml:msub><mml:mo>&#x2208;</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="fraktur">R</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="normal">L</mml:mi></mml:mrow></mml:mrow></mml:msup><mml:mo>,</mml:mo><mml:mtext>&#xA0;</mml:mtext><mml:mi mathvariant="normal">&#x2200;</mml:mi><mml:mspace width="thinmathspace" /><mml:mrow><mml:mi mathvariant="normal">j</mml:mi></mml:mrow><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:mn>2</mml:mn><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:msub><mml:mrow><mml:mi mathvariant="normal">N</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="normal">c</mml:mi></mml:mrow></mml:mrow></mml:msub></mml:math></inline-formula>. Every input vector is indicated by row vector <inline-formula id="ieqn-12"><mml:math id="mml-ieqn-12"><mml:msub><mml:mrow><mml:mi mathvariant="normal">x</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="normal">i</mml:mi></mml:mrow></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="normal">x</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="normal">i</mml:mi></mml:mrow></mml:mrow></mml:msub><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mtext>&#xA0;</mml:mtext><mml:msub><mml:mrow><mml:mi mathvariant="normal">x</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="normal">i</mml:mi></mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:msub><mml:mrow><mml:mi mathvariant="normal">x</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="normal">i</mml:mi><mml:mi mathvariant="normal">L</mml:mi></mml:mrow></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> and the j<sup><roman>th</roman></sup> codeword of codebook is denoted as <inline-formula id="ieqn-13"><mml:math id="mml-ieqn-13"><mml:msub><mml:mrow><mml:mi mathvariant="normal">c</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="normal">j</mml:mi></mml:mrow></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="normal">c</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="normal">j</mml:mi></mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#xA0;</mml:mtext><mml:msub><mml:mrow><mml:mi mathvariant="normal">c</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="normal">j</mml:mi></mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:mo>.</mml:mo><mml:mo>.</mml:mo><mml:mo>.</mml:mo><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:msub><mml:mrow><mml:mi mathvariant="normal">c</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="normal">j</mml:mi><mml:mi mathvariant="normal">L</mml:mi></mml:mrow></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>. The optimization of <inline-formula id="ieqn-14"><mml:math id="mml-ieqn-14"><mml:mrow><mml:mi mathvariant="normal">C</mml:mi></mml:mrow></mml:math></inline-formula>, by means of MSE could be devised as the minimization of distortion function, D. Generally, the minimum value of D implies better C.</p>
<p><disp-formula id="eqn-1">
<label>(1)</label>
<mml:math id="mml-eqn-1" display="block"><mml:mrow><mml:mi mathvariant="normal">D</mml:mi></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mi mathvariant="normal">C</mml:mi></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:msub><mml:mrow><mml:mi mathvariant="normal">N</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="normal">b</mml:mi></mml:mrow></mml:mrow></mml:msub></mml:mfrac><mml:munderover><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mrow><mml:mi mathvariant="normal">j</mml:mi></mml:mrow><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="normal">N</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="normal">c</mml:mi></mml:mrow></mml:mrow></mml:msub></mml:mrow></mml:munderover><mml:munderover><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mrow><mml:mi mathvariant="normal">i</mml:mi></mml:mrow><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="normal">N</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="normal">b</mml:mi></mml:mrow></mml:mrow></mml:msub></mml:mrow></mml:munderover><mml:msub><mml:mi>&#x03BC;</mml:mi><mml:mrow><mml:mrow><mml:mi mathvariant="normal">i</mml:mi><mml:mi mathvariant="normal">j</mml:mi></mml:mrow></mml:mrow></mml:msub><mml:mo>&#x22C5;</mml:mo><mml:mo fence="false" stretchy="false">&#x2016;</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="normal">x</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="normal">i</mml:mi></mml:mrow></mml:mrow></mml:msub></mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="normal">c</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="normal">j</mml:mi></mml:mrow></mml:mrow></mml:msub></mml:mrow><mml:msup><mml:mo fence="false" stretchy="false">&#x2016;</mml:mo><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:math>
</disp-formula></p>
<p>The above equation is subjected to constraints given in <xref ref-type="disp-formula" rid="eqn-2">Eqs. (2)</xref> and <xref ref-type="disp-formula" rid="eqn-3">(3)</xref></p>
<p><disp-formula id="eqn-2">
<label>(2)</label>
<mml:math id="mml-eqn-2" display="block"><mml:munderover><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mrow><mml:mi mathvariant="normal">j</mml:mi></mml:mrow><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="normal">N</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="normal">c</mml:mi></mml:mrow></mml:mrow></mml:msub></mml:mrow></mml:munderover><mml:msub><mml:mi>&#x03BC;</mml:mi><mml:mrow><mml:mrow><mml:mi mathvariant="normal">i</mml:mi><mml:mi mathvariant="normal">j</mml:mi></mml:mrow></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mspace width="1em" /><mml:mi mathvariant="normal">&#x2200;</mml:mi><mml:mspace width="thinmathspace" /><mml:mrow><mml:mi mathvariant="normal">i</mml:mi></mml:mrow><mml:mo>&#x2208;</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:mn>2</mml:mn><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:msub><mml:mrow><mml:mi mathvariant="normal">N</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="normal">b</mml:mi></mml:mrow></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math>
</disp-formula></p>
<p><disp-formula id="eqn-3">
<label>(3)</label>
<mml:math id="mml-eqn-3" display="block"><mml:msub><mml:mi>&#x03BC;</mml:mi><mml:mrow><mml:mrow><mml:mi mathvariant="normal">i</mml:mi><mml:mi mathvariant="normal">j</mml:mi></mml:mrow></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mtable columnalign="left left" rowspacing="0.5em 0.2em" columnspacing="1em" displaystyle="false"><mml:mtr><mml:mtd><mml:mn>1</mml:mn></mml:mtd><mml:mtd><mml:mtext>if&#xA0;</mml:mtext><mml:msub><mml:mrow><mml:mi mathvariant="normal">x</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="normal">i</mml:mi></mml:mrow></mml:mrow></mml:msub><mml:mtext>&#xA0;is in the jth cluster</mml:mtext></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn>0</mml:mn></mml:mtd></mml:mtr></mml:mtable><mml:mo fence="true" stretchy="true" symmetric="true"></mml:mo></mml:mrow></mml:math>
</disp-formula></p>
<p>And <inline-formula id="ieqn-15"><mml:math id="mml-ieqn-15"><mml:msub><mml:mrow><mml:mi mathvariant="normal">L</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="normal">k</mml:mi></mml:mrow></mml:mrow></mml:msub><mml:mo>&#x2264;</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="normal">C</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="normal">j</mml:mi><mml:mi mathvariant="normal">k</mml:mi></mml:mrow></mml:mrow></mml:msub><mml:mo>&#x2264;</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="normal">U</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="normal">k</mml:mi></mml:mrow></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#xA0;</mml:mtext><mml:mrow><mml:mi mathvariant="normal">k</mml:mi></mml:mrow><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:mn>2</mml:mn><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:mrow><mml:mi mathvariant="normal">L</mml:mi></mml:mrow></mml:math></inline-formula>, where <inline-formula id="ieqn-16"><mml:math id="mml-ieqn-16"><mml:msub><mml:mrow><mml:mi mathvariant="normal">L</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="normal">k</mml:mi></mml:mrow></mml:mrow></mml:msub></mml:math></inline-formula> denotes the lower k<sup><roman>th</roman></sup> element in training vector whereas <inline-formula id="ieqn-17"><mml:math id="mml-ieqn-17"><mml:msub><mml:mrow><mml:mi mathvariant="normal">U</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="normal">k</mml:mi></mml:mrow></mml:mrow></mml:msub></mml:math></inline-formula> defines a higher k<sup><roman>th</roman></sup> element in input vector. The <inline-formula id="ieqn-18"><mml:math id="mml-ieqn-18"><mml:mo fence="false" stretchy="false">&#x2016;</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="normal">x</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="normal">i</mml:mi></mml:mrow></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="normal">c</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="normal">i</mml:mi></mml:mrow></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">&#x2016;</mml:mo></mml:math></inline-formula> shows the Euclidean distance between the vector <inline-formula id="ieqn-19"><mml:math id="mml-ieqn-19"><mml:mrow><mml:mi mathvariant="normal">x</mml:mi></mml:mrow></mml:math></inline-formula> and codeword, <inline-formula id="ieqn-20"><mml:math id="mml-ieqn-20"><mml:mrow><mml:mi mathvariant="normal">c</mml:mi></mml:mrow></mml:math></inline-formula>.</p>
</sec>
<sec id="s3_2">
<label>3.2</label>
<title>LBG Algorithm</title>
<p>LBG is defined as a Scalar Quantization (SQ) algorithm and was devised in the year 1957 by Lloyd. By 1980, it was generalized as VQ. It employs two predefined conditions for input vectors to determine the codebook. Let <inline-formula id="ieqn-21"><mml:math id="mml-ieqn-21"><mml:msub><mml:mrow><mml:mi mathvariant="normal">x</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="normal">i</mml:mi></mml:mrow></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#xA0;</mml:mtext><mml:mrow><mml:mi mathvariant="normal">i</mml:mi></mml:mrow><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:mn>2</mml:mn><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:msub><mml:mrow><mml:mi mathvariant="normal">N</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="normal">b</mml:mi></mml:mrow></mml:mrow></mml:msub></mml:math></inline-formula> be an input vector, distance function d and primary codewords <inline-formula id="ieqn-22"><mml:math id="mml-ieqn-22"><mml:msub><mml:mrow><mml:mi mathvariant="normal">c</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="normal">j</mml:mi></mml:mrow></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mn>0</mml:mn><mml:mo>)</mml:mo></mml:mrow><mml:mo>,</mml:mo><mml:mtext>&#xA0;</mml:mtext><mml:mrow><mml:mi mathvariant="normal">j</mml:mi></mml:mrow><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:mn>2</mml:mn><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:msub><mml:mrow><mml:mi mathvariant="normal">N</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="normal">c</mml:mi></mml:mrow></mml:mrow></mml:msub><mml:mo>.</mml:mo></mml:math></inline-formula> The LBG algorithm repeatedly employs two conditions to obtain optimal codebook according to the given procedures:
<list list-type="bullet">
<list-item>
<p>Divide the input vector into different groups using minimum distance rules. The resultant block is saved in a <inline-formula id="ieqn-23"><mml:math id="mml-ieqn-23"><mml:msub><mml:mrow><mml:mi mathvariant="normal">N</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="normal">b</mml:mi></mml:mrow></mml:mrow></mml:msub><mml:mo>&#x00D7;</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="normal">N</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="normal">c</mml:mi></mml:mrow></mml:mrow></mml:msub></mml:math></inline-formula> binary indicator matrix <inline-formula id="ieqn-24"><mml:math id="mml-ieqn-24"><mml:mrow><mml:mi mathvariant="normal">U</mml:mi></mml:mrow></mml:math></inline-formula>, where the components are expressed as follows,
<disp-formula id="eqn-4">
<label>(4)</label>
<mml:math id="mml-eqn-4" display="block"><mml:msub><mml:mi>&#x03BC;</mml:mi><mml:mrow><mml:mrow><mml:mi mathvariant="normal">i</mml:mi><mml:mi mathvariant="normal">j</mml:mi></mml:mrow></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mtable columnalign="left left" rowspacing="1em 0.2em" columnspacing="1em" displaystyle="false"><mml:mtr><mml:mtd><mml:mn>1</mml:mn></mml:mtd><mml:mtd><mml:mtext>&#xA0;if&#xA0;</mml:mtext><mml:mrow><mml:mi mathvariant="normal">d</mml:mi></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="normal">x</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="normal">i</mml:mi></mml:mrow></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:msub><mml:mrow><mml:mi mathvariant="normal">c</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="normal">j</mml:mi></mml:mrow></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mi mathvariant="normal">k</mml:mi></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:munder><mml:mo movablelimits="true" form="prefix">min</mml:mo><mml:mrow><mml:mrow><mml:mi mathvariant="normal">p</mml:mi></mml:mrow></mml:mrow></mml:munder><mml:mrow><mml:mi mathvariant="normal">d</mml:mi></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="normal">x</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="normal">i</mml:mi></mml:mrow></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:msub><mml:mrow><mml:mi mathvariant="normal">c</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="normal">p</mml:mi></mml:mrow></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mi mathvariant="normal">k</mml:mi></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mstyle></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mtext>&#xA0;otherwise</mml:mtext></mml:mtd></mml:mtr></mml:mtable><mml:mo fence="true" stretchy="true" symmetric="true"></mml:mo></mml:mrow></mml:math>
</disp-formula></p></list-item>
<list-item>
<p>Identify the centroid of every portion. The previous codewords can be replaced with any available centroids:
<disp-formula id="eqn-5">
<label>(5)</label>
<mml:math id="mml-eqn-5" display="block"><mml:msub><mml:mrow><mml:mi mathvariant="normal">c</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="normal">j</mml:mi></mml:mrow></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mi mathvariant="normal">k</mml:mi></mml:mrow><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:munderover><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mrow><mml:mi mathvariant="normal">i</mml:mi></mml:mrow><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="normal">N</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="normal">b</mml:mi></mml:mrow></mml:mrow></mml:msub></mml:mrow></mml:munderover><mml:msub><mml:mi>&#x03BC;</mml:mi><mml:mrow><mml:mrow><mml:mi mathvariant="normal">i</mml:mi><mml:mi mathvariant="normal">j</mml:mi></mml:mrow></mml:mrow></mml:msub><mml:mo>&#x22C5;</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="normal">x</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="normal">i</mml:mi></mml:mrow></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:munderover><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mrow><mml:mi mathvariant="normal">i</mml:mi></mml:mrow><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="normal">N</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="normal">b</mml:mi></mml:mrow></mml:mrow></mml:msub></mml:mrow></mml:munderover><mml:msub><mml:mi>&#x03BC;</mml:mi><mml:mrow><mml:mrow><mml:mi mathvariant="normal">i</mml:mi><mml:mi mathvariant="normal">j</mml:mi></mml:mrow></mml:mrow></mml:msub></mml:mrow></mml:mfrac></mml:math>
</disp-formula></p></list-item>
<list-item>
<p>Go to step 1 till no modifications occur in <inline-formula id="ieqn-25"><mml:math id="mml-ieqn-25"><mml:msub><mml:mrow><mml:mi mathvariant="normal">c</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="normal">j</mml:mi></mml:mrow></mml:mrow></mml:msub></mml:math></inline-formula>.</p></list-item>
</list></p>
</sec>
<sec id="s3_3">
<label>3.3</label>
<title>The Proposed OLBG-LZMA Algorithm</title>
<p>The overall operation of the proposed OLBG-LZMA algorithm is illustrated in <xref ref-type="fig" rid="fig-1">Fig. 1</xref>. The input image should be divided into non-overlapping blocks which then undergo quantization by LBG model. The codebook, which has been deployed using LBG approach, is trained first using GWO method in order to satisfy the needs of global convergence and assures the phenomenon. The index numbers are sent over transmission medium and reconstructed at the destination using decoder. Both reformed index and the corresponding codewords are arranged properly in order to generate the decompressed image size which is almost equal to the given input image. GWO algorithm was developed by Mirjalili et al. [<xref ref-type="bibr" rid="ref-25">25</xref>] in 2016 as a simulation from the hunting behavior of grey wolves. Grey wolves are assumed to be superior predators which often reside in group. Based on its hunting nature, the wolves are divided into alpha (&#x03B1;), beta (&#x03B2;), delta (&#x03B4;), and omega (&#x03C9;). The leader wolves are known to be &#x03B1; wolves which decide the place of sleep, hunting destination etc. The decisions taken by &#x03B1; are followed by the remaining members in the group. &#x03B2; is the second level of grey wolves which is referred to be subordinate wolves that guide the &#x03B1; wolves in decision making process. The subordinates can make decision in the absence of dominant wolves. Third level grey wolves are grouped under &#x03C9; wolves which act as a scapegoat. When the wolves do not come under &#x03B1;, &#x03B2;, or &#x03C9;, they are known to be subordinate or &#x03B4; wolves.</p>
<fig id="fig-1">
<label>Figure 1</label>
<caption>
<title>Working model of OLBG-LZMA algorithm</title>
</caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="CMC_18636-fig-1.png"/>
</fig>
<p>These wolves do not dominate &#x03B1; and &#x03B2; wolves, but dominate over &#x03C9;. Different levels of grey wolf hunting are listed below.
<list list-type="bullet">
<list-item>
<p>Approaching prey</p></list-item>
<list-item>
<p>Encircling prey</p></list-item>
<list-item>
<p>Attacking the prey.</p></list-item>
</list></p>
<p>GWO algorithm is composed of two phases namely, exploration and exploitation. Initially, it is applied to explore the best solutions in local search area. The grey wolf surrounds and attacks the prey when searching for reliable solutions. Secondly, prey is identified by exploring the local space area. While encircling prey, the wolves finds the location of a victim and surrounds it. Hence, encircling prey is expressed as given herewith.</p>
<p><disp-formula id="eqn-6">
<label>(6)</label>
<mml:math id="mml-eqn-6" display="block"><mml:mrow><mml:mover><mml:mrow><mml:mi mathvariant="normal">D</mml:mi></mml:mrow><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mo>=</mml:mo><mml:mrow><mml:mo>|</mml:mo><mml:mrow><mml:mover><mml:mrow><mml:mi mathvariant="normal">C</mml:mi></mml:mrow><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mo>.</mml:mo><mml:mrow><mml:mover><mml:msub><mml:mrow><mml:mi mathvariant="normal">X</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="normal">p</mml:mi></mml:mrow></mml:mrow></mml:msub><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mi mathvariant="normal">t</mml:mi></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mrow><mml:mover><mml:mrow><mml:mi mathvariant="normal">X</mml:mi></mml:mrow><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mi mathvariant="normal">t</mml:mi></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo>|</mml:mo></mml:mrow></mml:math>
</disp-formula></p>
<p><disp-formula id="eqn-7">
<label>(7)</label>
<mml:math id="mml-eqn-7" display="block"><mml:mrow><mml:mover><mml:mrow><mml:mi mathvariant="normal">X</mml:mi></mml:mrow><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mi mathvariant="normal">t</mml:mi></mml:mrow><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mrow><mml:mover><mml:msub><mml:mrow><mml:mi mathvariant="normal">X</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="normal">p</mml:mi></mml:mrow></mml:mrow></mml:msub><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mi mathvariant="normal">k</mml:mi></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mrow><mml:mover><mml:mrow><mml:mi mathvariant="normal">A</mml:mi></mml:mrow><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mo>.</mml:mo><mml:mrow><mml:mover><mml:mrow><mml:mi mathvariant="normal">D</mml:mi></mml:mrow><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow></mml:math>
</disp-formula></p>
<p>where <inline-formula id="ieqn-26"><mml:math id="mml-ieqn-26"><mml:mrow><mml:mi mathvariant="normal">t</mml:mi></mml:mrow></mml:math></inline-formula> depicts the present iteration and <inline-formula id="ieqn-27"><mml:math id="mml-ieqn-27"><mml:mrow><mml:mover><mml:mrow><mml:mi mathvariant="normal">A</mml:mi></mml:mrow><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow></mml:math></inline-formula> and <inline-formula id="ieqn-28"><mml:math id="mml-ieqn-28"><mml:mrow><mml:mover><mml:mrow><mml:mi mathvariant="normal">C</mml:mi></mml:mrow><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow></mml:math></inline-formula> are said to be coefficient vectors and position vector of the prey which are represented as <inline-formula id="ieqn-29"><mml:math id="mml-ieqn-29"><mml:mrow><mml:mover><mml:msub><mml:mrow><mml:mi mathvariant="normal">X</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="normal">p</mml:mi></mml:mrow></mml:mrow></mml:msub><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mi mathvariant="normal">k</mml:mi></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>. Here, <inline-formula id="ieqn-30"><mml:math id="mml-ieqn-30"><mml:mrow><mml:mover><mml:mrow><mml:mi mathvariant="normal">X</mml:mi></mml:mrow><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow></mml:math></inline-formula> implies the position vector, <inline-formula id="ieqn-31"><mml:math id="mml-ieqn-31"><mml:mrow><mml:mover><mml:mrow><mml:mi mathvariant="normal">A</mml:mi></mml:mrow><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mo>.</mml:mo><mml:mrow><mml:mover><mml:mrow><mml:mi mathvariant="normal">D</mml:mi></mml:mrow><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow></mml:math></inline-formula> exhibits the accurate value and <inline-formula id="ieqn-32"><mml:math id="mml-ieqn-32"><mml:mrow><mml:mover><mml:mrow><mml:mi mathvariant="normal">X</mml:mi></mml:mrow><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mi mathvariant="normal">t</mml:mi></mml:mrow><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> implies element multiplication. The vectors <inline-formula id="ieqn-33"><mml:math id="mml-ieqn-33"><mml:mrow><mml:mover><mml:mrow><mml:mi mathvariant="normal">A</mml:mi></mml:mrow><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow></mml:math></inline-formula> and <inline-formula id="ieqn-34"><mml:math id="mml-ieqn-34"><mml:mrow><mml:mover><mml:mrow><mml:mi mathvariant="normal">C</mml:mi></mml:mrow><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow></mml:math></inline-formula> can be denoted as follows.</p>
<p><disp-formula id="eqn-8">
<label>(8)</label>
<mml:math id="mml-eqn-8" display="block"><mml:mrow><mml:mover><mml:mrow><mml:mi mathvariant="normal">A</mml:mi></mml:mrow><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mo>=</mml:mo><mml:mn>2</mml:mn><mml:mrow><mml:mover><mml:mrow><mml:mi mathvariant="normal">a</mml:mi></mml:mrow><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mo>.</mml:mo><mml:mrow><mml:mover><mml:mrow><mml:mi mathvariant="normal">r</mml:mi></mml:mrow><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mrow><mml:mover><mml:mrow><mml:mi mathvariant="normal">a</mml:mi></mml:mrow><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow></mml:math>
</disp-formula></p>
<p><disp-formula id="eqn-9">
<label>(9)</label>
<mml:math id="mml-eqn-9" display="block"><mml:mrow><mml:mover><mml:mrow><mml:mi mathvariant="normal">C</mml:mi></mml:mrow><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mo>=</mml:mo><mml:mn>2.</mml:mn><mml:mrow><mml:mover><mml:mrow><mml:mi mathvariant="normal">r</mml:mi></mml:mrow><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow></mml:math>
</disp-formula></p>
<p>where the elements of &#x007E;a have been reduced in a linear manner from 2 to 0 during various iterations whereas r1 and r2 define the random vectors in [0, 1].</p>
<p>The default nature of grey wolves is to identify the locations of prey and encircle it. Hunting operation is carried out by &#x03B1; wolf, while &#x03B2; and &#x03B4; involves in a few scenarios. Also, the numerical simulation of grey wolves is assumed to be &#x03B1;, &#x03B2; and &#x03B4; which embeds massive aspects in terms of prey location. Thus, the top three solutions are saved which result in improving the position of search agents and is described as depicted in <xref ref-type="disp-formula" rid="eqn-10">Eq. (10)</xref>.</p>
<p><disp-formula id="eqn-16">
<mml:math id="mml-eqn-16" display="block"><mml:msub><mml:mrow><mml:mover><mml:mrow><mml:mi mathvariant="normal">D</mml:mi></mml:mrow><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>&#x03B1;</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:msub><mml:mrow><mml:mover><mml:mrow><mml:mi mathvariant="normal">C</mml:mi></mml:mrow><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="normal">a</mml:mi></mml:mrow></mml:mrow></mml:msub><mml:mo>&#x2217;</mml:mo><mml:msub><mml:mrow><mml:mover><mml:mrow><mml:mi mathvariant="normal">X</mml:mi></mml:mrow><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>&#x03B1;</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:mrow><mml:mover><mml:mrow><mml:mi mathvariant="normal">X</mml:mi></mml:mrow><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:msup><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:mo>&#x2217;</mml:mo></mml:msup></mml:math>
</disp-formula></p>
<p><disp-formula id="eqn-10">
<label>(10)</label>
<mml:math id="mml-eqn-10" display="block"><mml:msub><mml:mrow><mml:mover><mml:mrow><mml:mi mathvariant="normal">D</mml:mi></mml:mrow><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>&#x03B2;</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:msub><mml:mrow><mml:mover><mml:mrow><mml:mi mathvariant="normal">C</mml:mi></mml:mrow><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="normal">b</mml:mi></mml:mrow></mml:mrow></mml:msub><mml:mo>&#x2217;</mml:mo><mml:msub><mml:mrow><mml:mover><mml:mrow><mml:mi mathvariant="normal">X</mml:mi></mml:mrow><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>&#x03B2;</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:mrow><mml:mover><mml:mrow><mml:mi mathvariant="normal">X</mml:mi></mml:mrow><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow></mml:math>
</disp-formula></p>
<p><disp-formula id="eqn-11">
<mml:math id="mml-eqn-11" display="block"><mml:msub><mml:mrow><mml:mover><mml:mrow><mml:mi mathvariant="normal">D</mml:mi></mml:mrow><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>&#x03B4;</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:msub><mml:mrow><mml:mover><mml:mrow><mml:mi mathvariant="normal">C</mml:mi></mml:mrow><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="normal">c</mml:mi></mml:mrow></mml:mrow></mml:msub><mml:mo>&#x2217;</mml:mo><mml:msub><mml:mrow><mml:mover><mml:mrow><mml:mi mathvariant="normal">X</mml:mi></mml:mrow><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>&#x03B4;</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:mrow><mml:mover><mml:mrow><mml:mi mathvariant="normal">X</mml:mi></mml:mrow><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow></mml:math>
</disp-formula></p>
<p>where <inline-formula id="ieqn-35"><mml:math id="mml-ieqn-35"><mml:msub><mml:mrow><mml:mover><mml:mrow><mml:mi mathvariant="normal">D</mml:mi></mml:mrow><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>&#x03B1;</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>, <inline-formula id="ieqn-36"><mml:math id="mml-ieqn-36"><mml:msub><mml:mrow><mml:mover><mml:mrow><mml:mi mathvariant="normal">D</mml:mi></mml:mrow><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>&#x03B2;</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> and <inline-formula id="ieqn-37"><mml:math id="mml-ieqn-37"><mml:msub><mml:mrow><mml:mover><mml:mrow><mml:mi mathvariant="normal">D</mml:mi></mml:mrow><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>&#x03B4;</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> are the modified distance vectors among &#x03B1;, &#x03B2; and &#x03B3; locations to alternate wolves and <inline-formula id="ieqn-38"><mml:math id="mml-ieqn-38"><mml:msub><mml:mrow><mml:mover><mml:mrow><mml:mi mathvariant="normal">C</mml:mi></mml:mrow><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="normal">a</mml:mi></mml:mrow></mml:mrow></mml:msub></mml:math></inline-formula>, <inline-formula id="ieqn-39"><mml:math id="mml-ieqn-39"><mml:msub><mml:mrow><mml:mover><mml:mrow><mml:mi mathvariant="normal">C</mml:mi></mml:mrow><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="normal">b</mml:mi></mml:mrow></mml:mrow></mml:msub></mml:math></inline-formula>, and <inline-formula id="ieqn-40"><mml:math id="mml-ieqn-40"><mml:msub><mml:mrow><mml:mover><mml:mrow><mml:mi mathvariant="normal">C</mml:mi></mml:mrow><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="normal">c</mml:mi></mml:mrow></mml:mrow></mml:msub></mml:math></inline-formula> illustrate three coefficient vectors which are applied in distance vector.</p>
<p><disp-formula id="eqn-12">
<mml:math id="mml-eqn-12" display="block"><mml:msub><mml:mrow><mml:mover><mml:mrow><mml:mi mathvariant="normal">X</mml:mi></mml:mrow><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="normal">a</mml:mi></mml:mrow></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mover><mml:mrow><mml:mi mathvariant="normal">X</mml:mi></mml:mrow><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>&#x03B1;</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mrow><mml:mover><mml:mrow><mml:mi mathvariant="normal">A</mml:mi></mml:mrow><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="normal">a</mml:mi></mml:mrow></mml:mrow></mml:msub><mml:mo>&#x2217;</mml:mo><mml:msub><mml:mrow><mml:mover><mml:mrow><mml:mi mathvariant="normal">D</mml:mi></mml:mrow><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>&#x03B1;</mml:mi></mml:mrow></mml:msub></mml:math>
</disp-formula></p>
<p><disp-formula id="eqn-13">
<label>(11)</label>
<mml:math id="mml-eqn-13" display="block"><mml:msub><mml:mrow><mml:mover><mml:mrow><mml:mi mathvariant="normal">X</mml:mi></mml:mrow><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="normal">b</mml:mi></mml:mrow></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mover><mml:mrow><mml:mi mathvariant="normal">X</mml:mi></mml:mrow><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>&#x03B2;</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mrow><mml:mover><mml:mrow><mml:mi mathvariant="normal">A</mml:mi></mml:mrow><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="normal">b</mml:mi></mml:mrow></mml:mrow></mml:msub><mml:mo>&#x2217;</mml:mo><mml:msub><mml:mrow><mml:mover><mml:mrow><mml:mi mathvariant="normal">D</mml:mi></mml:mrow><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>&#x03B2;</mml:mi></mml:mrow></mml:msub></mml:math>
</disp-formula></p>
<p><disp-formula id="eqn-14">
<mml:math id="mml-eqn-14" display="block"><mml:msub><mml:mrow><mml:mover><mml:mrow><mml:mi mathvariant="normal">X</mml:mi></mml:mrow><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="normal">c</mml:mi></mml:mrow></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mover><mml:mrow><mml:mi mathvariant="normal">X</mml:mi></mml:mrow><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>&#x03B4;</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mrow><mml:mover><mml:mrow><mml:mi mathvariant="normal">A</mml:mi></mml:mrow><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="normal">c</mml:mi></mml:mrow></mml:mrow></mml:msub><mml:mo>&#x2217;</mml:mo><mml:msub><mml:mrow><mml:mover><mml:mrow><mml:mi mathvariant="normal">D</mml:mi></mml:mrow><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>&#x03B4;</mml:mi></mml:mrow></mml:msub></mml:math>
</disp-formula></p>
<p>where <inline-formula id="ieqn-41"><mml:math id="mml-ieqn-41"><mml:msub><mml:mrow><mml:mover><mml:mrow><mml:mi mathvariant="normal">X</mml:mi></mml:mrow><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="normal">a</mml:mi></mml:mrow></mml:mrow></mml:msub></mml:math></inline-formula> represents the newly-attained position vector of &#x03B1; position <inline-formula id="ieqn-42"><mml:math id="mml-ieqn-42"><mml:msub><mml:mrow><mml:mover><mml:mrow><mml:mi mathvariant="normal">X</mml:mi></mml:mrow><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>&#x03B1;</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> and the distance vector <inline-formula id="ieqn-43"><mml:math id="mml-ieqn-43"><mml:msub><mml:mrow><mml:mover><mml:mrow><mml:mi mathvariant="normal">D</mml:mi></mml:mrow><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>&#x03B1;</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>. <inline-formula id="ieqn-44"><mml:math id="mml-ieqn-44"><mml:msub><mml:mrow><mml:mover><mml:mrow><mml:mi mathvariant="normal">X</mml:mi></mml:mrow><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="normal">b</mml:mi></mml:mrow></mml:mrow></mml:msub></mml:math></inline-formula> implies a novel position vector accomplished using &#x03B2; position <inline-formula id="ieqn-45"><mml:math id="mml-ieqn-45"><mml:msub><mml:mrow><mml:mover><mml:mrow><mml:mi mathvariant="normal">X</mml:mi></mml:mrow><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>&#x03B2;</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> and the distance vector <inline-formula id="ieqn-46"><mml:math id="mml-ieqn-46"><mml:msub><mml:mrow><mml:mover><mml:mrow><mml:mi mathvariant="normal">D</mml:mi></mml:mrow><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>&#x03B2;</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>. <inline-formula id="ieqn-47"><mml:math id="mml-ieqn-47"><mml:msub><mml:mrow><mml:mover><mml:mrow><mml:mi mathvariant="normal">X</mml:mi></mml:mrow><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="normal">v</mml:mi></mml:mrow></mml:mrow></mml:msub></mml:math></inline-formula> demonstrates the best position vector estimated with the application of &#x03B4; position <inline-formula id="ieqn-48"><mml:math id="mml-ieqn-48"><mml:msub><mml:mrow><mml:mover><mml:mrow><mml:mi mathvariant="normal">X</mml:mi></mml:mrow><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>&#x03B4;</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> and distance vector <inline-formula id="ieqn-49"><mml:math id="mml-ieqn-49"><mml:msub><mml:mrow><mml:mover><mml:mrow><mml:mi mathvariant="normal">D</mml:mi></mml:mrow><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>&#x03B4;</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>, while <inline-formula id="ieqn-50"><mml:math id="mml-ieqn-50"><mml:msub><mml:mrow><mml:mover><mml:mrow><mml:mi mathvariant="normal">A</mml:mi></mml:mrow><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="normal">a</mml:mi></mml:mrow></mml:mrow></mml:msub></mml:math></inline-formula>, <inline-formula id="ieqn-51"><mml:math id="mml-ieqn-51"><mml:msub><mml:mrow><mml:mover><mml:mrow><mml:mi mathvariant="normal">A</mml:mi></mml:mrow><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="normal">b</mml:mi></mml:mrow></mml:mrow></mml:msub></mml:math></inline-formula>, and <inline-formula id="ieqn-52"><mml:math id="mml-ieqn-52"><mml:msub><mml:mrow><mml:mover><mml:mrow><mml:mi mathvariant="normal">A</mml:mi></mml:mrow><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="normal">c</mml:mi></mml:mrow></mml:mrow></mml:msub></mml:math></inline-formula> are referred to as three coefficient vectors.</p>
<p><disp-formula id="eqn-15">
<label>(12)</label>
<mml:math id="mml-eqn-15" display="block"><mml:mrow><mml:mover><mml:mrow><mml:mi mathvariant="normal">X</mml:mi></mml:mrow><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mi mathvariant="normal">k</mml:mi></mml:mrow><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:munderover><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mrow><mml:mi mathvariant="normal">i</mml:mi></mml:mrow><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="normal">n</mml:mi></mml:mrow></mml:mrow></mml:munderover><mml:msub><mml:mrow><mml:mover><mml:mrow><mml:mi mathvariant="normal">X</mml:mi></mml:mrow><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="normal">i</mml:mi></mml:mrow></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="normal">n</mml:mi></mml:mrow></mml:mfrac></mml:math>
</disp-formula></p>
<p>where <inline-formula id="ieqn-53"><mml:math id="mml-ieqn-53"><mml:mrow><mml:mover><mml:mrow><mml:mi mathvariant="normal">X</mml:mi></mml:mrow><mml:mo stretchy="false">&#x2192;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mi mathvariant="normal">k</mml:mi></mml:mrow><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> is defined as a novel position vector that is calculated as an average of total number of positions attained by applying &#x03B1;, &#x03B2; and &#x03B4; (n &#x003D; 3). As mentioned earlier, the grey wolves wait to attack the prey till it becomes idle. To model the approach in a mathematical way, the value of &#x007E;a is to be reduced. The random measures of &#x007E;A lies in the range of [&#x2212;1, 1]. There are few steps followed in GWO model as demonstrated in <xref ref-type="fig" rid="fig-2">Fig. 2</xref>.</p>
<fig id="fig-2">
<label>Figure 2</label>
<caption>
<title>Overall operation of OLBG-LZMA algorithm</title>
</caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="CMC_18636-fig-2.png"/>
</fig>
<p>Step 1: Initializing parameters: Here, the codebook constructed using LBG approach is declared to be the initial solution whereas the remaining solutions are developed in a random manner. The attained solution refers to a codebook of NC codewords.</p>
<p>Step 2: (Selecting the present best solution): The fitness of each solution is processed using <xref ref-type="disp-formula" rid="eqn-1">Eq. (1)</xref> and the higher fitness location is selected as an optimal result.</p>
<p>Step 3: (Generating novel solution): The position of grey wolves is updated using the location of prey. When an arbitrarily-created number (K) is higher than &#x007E;a, then the bad locations are replaced with newly-identified positions and the best location is kept unaltered.</p>
<p>Step 4: Rank the solutions under the application of fitness function and select the better solution.</p>
<p>Step 5: (Termination criteria): Follow the Steps 2 and 3 until the stopping condition is reached.</p>
</sec>
<sec id="s3_4">
<label>3.4</label>
<title>LZMA-Based Compression Process</title>
<p>LZMA coding is used in the compression of generated codebooks. It is used to compress real time data which is generated rapidly. Initially, the sensor nodes observe the physical environment. The sensed value is then tested for anomalies and the label value is appended. Label value is appended by the sensors to every individual sensed data. The labelled value &#x2018;1&#x2019; is appended to the sensed data, when the latter differs from actual data i.e., an abnormal value is found. Likewise, the labelled value &#x2018;0&#x2019; is appended to the sensed data, when the latter has no deviation from the actual data, i.e., normal value is found. The sensor node appends the label value to sensed data after which the compression is performed. Sensor node runs the LZMA algorithm whereas the compression algorithm compress the labelled data efficiently, irrespective of the label value. LZMA algorithm uses the dictionary, sliding window concept and range encoder to efficiently compress the labelled data. The compressed data is then transmitted to BS. BS receives the compressed data and performs decompression process. As LZMA is a lossless compression technique, the reconstructed data remains the exact replica of original data with no loss of information.</p>
</sec>
</sec>
<sec id="s4">
<label>4</label>
<title>Performance Validation</title>
<p>In order to understand the effectiveness of the proposed model, TMA image dataset was used. The dataset contains 50 prostate tissue samples collected from prostate cancer patients. In addition, the results were compared with existing methods under different measures.</p>
<sec id="s4_1">
<label>4.1</label>
<title>Dataset Details</title>
<p>For experimentation, a publicly-available microarray image dataset was employed from Zhong 2017. Besides, the particulars of the dataset is given in <xref ref-type="fig" rid="fig-3">Fig. 3</xref> and the sample TMA images are shown in <xref ref-type="fig" rid="fig-4">Fig. 4</xref>. The dataset contains high resolution Tissue Microarray (TMA) image dataset containing 71 prostate tissue samples of cancer patients digitized by Carl Zeiss Axio Scan.Z1 scanner. The resolution of the image is 7000 <inline-formula id="ieqn-54"><mml:math id="mml-ieqn-54"><mml:mo>&#x00D7;</mml:mo></mml:math></inline-formula> 7000 pixels for a core tissue and is named as &#x002A;_PTEN_Zesis_7000.jpg. In some cases, 4096 <inline-formula id="ieqn-55"><mml:math id="mml-ieqn-55"><mml:mo>&#x00D7;</mml:mo></mml:math></inline-formula> 4096 resolution is also used and is named as &#x002A;_PTEN_Zesis_4096.jpg (where &#x002A; indicates sample id).</p>
<fig id="fig-3">
<label>Figure 3</label>
<caption>
<title>Particulars of microarray image dataset</title>
</caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="CMC_18636-fig-3.png"/>
</fig>
<fig id="fig-4">
<label>Figure 4</label>
<caption>
<title>Sample TMA images</title>
</caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="CMC_18636-fig-4.png"/>
</fig>
</sec>
<sec id="s4_2">
<label>4.2</label>
<title>Results</title>
<p><xref ref-type="table" rid="table-1">Tab. 1</xref> and <xref ref-type="fig" rid="fig-5">Figs. 5</xref>&#x2013;<xref ref-type="fig" rid="fig-8">8</xref> show the results of PSNR analysis for the proposed algorithm against existing models on the applied images 1&#x2013;4.</p>
<fig id="fig-5">
<label>Figure 5</label>
<caption>
<title>Comparative PSNR analysis of OLBG-LZMA model on image 1</title>
</caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="CMC_18636-fig-5.png"/>
</fig>
<fig id="fig-6">
<label>Figure 6</label>
<caption>
<title>Comparative PSNR analysis of OLBG-LZMA model on image 2</title>
</caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="CMC_18636-fig-6.png"/>
</fig>
<fig id="fig-7">
<label>Figure 7</label>
<caption>
<title>Comparative PSNR analysis of OLBG-LZMA model on image 3</title>
</caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="CMC_18636-fig-7.png"/>
</fig>
<fig id="fig-8">
<label>Figure 8</label>
<caption>
<title>Comparative PSNR analysis of OLBG-LZMA model on image 4</title>
</caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="CMC_18636-fig-8.png"/>
</fig>
<table-wrap id="table-1">
<label>Table 1</label>
<caption>
<title>Comparison of PSNR values of test images using different vector quantization algorithms under the bit rate of 0.1875 to 0.625 and <inline-formula id="ieqn-56"><mml:math id="mml-ieqn-56"><mml:msub><mml:mi mathvariant="bold-italic">N</mml:mi><mml:mrow><mml:mi mathvariant="bold-italic">C</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>size of 8&#x2013;1024</title>
</caption>
<table>
<colgroup>
<col/>
<col/>
<col/>
<col/>
<col/>
<col/>
<col/>
<col/>
<col/>
<col/>
</colgroup>
<thead>
<tr>
<th rowspan="2">Test images</th>
<th rowspan="2">Methods</th>
<th colspan="8">PSNR (dB)</th>
</tr>
<tr>
<th>0.1875</th>
<th>0.25</th>
<th>0.3125</th>
<th>0.3750</th>
<th>0.4375</th>
<th>0.50</th>
<th>0.5625</th>
<th>0.625</th>
</tr>
</thead>
<tbody>
<tr>
<td rowspan="7">Image 1</td>
<td>OLBG-LZMA</td>
<td>25.3</td>
<td>26.2</td>
<td>26.8</td>
<td>27.1</td>
<td>27.8</td>
<td>29.9</td>
<td>30.7</td>
<td>33.2</td>
</tr>
<tr>
<td>CS</td>
<td>24.2</td>
<td>25.5</td>
<td>25.8</td>
<td>26.2</td>
<td>27.8</td>
<td>28.5</td>
<td>28.9</td>
<td>31.0</td>
</tr>
<tr>
<td>FF</td>
<td>24.1</td>
<td>25.2</td>
<td>25.6</td>
<td>26.0</td>
<td>27.7</td>
<td>28.3</td>
<td>28.8</td>
<td>30.6</td>
</tr>
<tr>
<td>HBMO</td>
<td>24.0</td>
<td>25.1</td>
<td>25.3</td>
<td>25.9</td>
<td>27.4</td>
<td>28.2</td>
<td>28.7</td>
<td>30.4</td>
</tr>
<tr>
<td>QPSO</td>
<td>24.0</td>
<td>25.1</td>
<td>25.2</td>
<td>25.7</td>
<td>27.3</td>
<td>28.1</td>
<td>28.5</td>
<td>30.3</td>
</tr>
<tr>
<td>PSO</td>
<td>24.0</td>
<td>25.0</td>
<td>25.1</td>
<td>25.5</td>
<td>27.2</td>
<td>28.0</td>
<td>28.3</td>
<td>30.0</td>
</tr>
<tr>
<td>LBG</td>
<td>24.0</td>
<td>25.0</td>
<td>25.2</td>
<td>25.3</td>
<td>25.4</td>
<td>25.6</td>
<td>25.7</td>
<td>25.7</td>
</tr>
<tr>
<td rowspan="7">Image 2</td>
<td>OLBG-LZMA</td>
<td>20.1</td>
<td>21.8</td>
<td>22.4</td>
<td>22.6</td>
<td>23.8</td>
<td>24.3</td>
<td>24.9</td>
<td>25.2</td>
</tr>
<tr>
<td>CS</td>
<td>19.2</td>
<td>20.1</td>
<td>20.2</td>
<td>21.5</td>
<td>22.4</td>
<td>22.9</td>
<td>23.7</td>
<td>23.9</td>
</tr>
<tr>
<td>FF</td>
<td>19.1</td>
<td>19.8</td>
<td>20.3</td>
<td>21.2</td>
<td>22.1</td>
<td>22.4</td>
<td>23.5</td>
<td>23.6</td>
</tr>
<tr>
<td>HBMO</td>
<td>18.9</td>
<td>19.7</td>
<td>20.1</td>
<td>21.1</td>
<td>22.1</td>
<td>22.3</td>
<td>23.4</td>
<td>23.5</td>
</tr>
<tr>
<td>QPSO</td>
<td>18.3</td>
<td>19.8</td>
<td>20.0</td>
<td>20.8</td>
<td>21.7</td>
<td>22.2</td>
<td>22.8</td>
<td>23.2</td>
</tr>
<tr>
<td>PSO</td>
<td>18.4</td>
<td>19.7</td>
<td>20.1</td>
<td>20.6</td>
<td>21.8</td>
<td>22.1</td>
<td>23.1</td>
<td>23.2</td>
</tr>
<tr>
<td>LBG</td>
<td>18.3</td>
<td>19.6</td>
<td>19.7</td>
<td>19.8</td>
<td>19.8</td>
<td>19.9</td>
<td>19.9</td>
<td>20.0</td>
</tr>
<tr>
<td rowspan="7">Image 3</td>
<td>OLBG-LZMA</td>
<td>25.3</td>
<td>26.8</td>
<td>27.3</td>
<td>28.2</td>
<td>29.8</td>
<td>30.4</td>
<td>31.7</td>
<td>32.9</td>
</tr>
<tr>
<td>CS</td>
<td>24.2</td>
<td>24.3</td>
<td>26.7</td>
<td>27.6</td>
<td>28.8</td>
<td>29.1</td>
<td>30.2</td>
<td>31.6</td>
</tr>
<tr>
<td>FF</td>
<td>23.6</td>
<td>24.1</td>
<td>26.2</td>
<td>27.4</td>
<td>28.7</td>
<td>28.9</td>
<td>29.8</td>
<td>30.8</td>
</tr>
<tr>
<td>HBMO</td>
<td>23.5</td>
<td>24.0</td>
<td>26.1</td>
<td>27.2</td>
<td>28.5</td>
<td>28.9</td>
<td>29.6</td>
<td>30.9</td>
</tr>
<tr>
<td>QPSO</td>
<td>23.8</td>
<td>24.2</td>
<td>26.0</td>
<td>27.1</td>
<td>28.4</td>
<td>28.6</td>
<td>29.5</td>
<td>31.2</td>
</tr>
<tr>
<td>PSO</td>
<td>24.1</td>
<td>24.2</td>
<td>25.8</td>
<td>27.1</td>
<td>28.3</td>
<td>28.7</td>
<td>29.7</td>
<td>30.7</td>
</tr>
<tr>
<td>LBG</td>
<td>23.5</td>
<td>23.6</td>
<td>23.9</td>
<td>24.1</td>
<td>24.0</td>
<td>24.9</td>
<td>24.7</td>
<td>25.2</td>
</tr>
<tr>
<td rowspan="7">Image 4</td>
<td>OLBG-LZMA</td>
<td>25.3</td>
<td>26.8</td>
<td>27.4</td>
<td>28.9</td>
<td>29.7</td>
<td>30.6</td>
<td>31.8</td>
<td>32.7</td>
</tr>
<tr>
<td>CS</td>
<td>24.8</td>
<td>25.9</td>
<td>26.3</td>
<td>27.2</td>
<td>28.1</td>
<td>29.2</td>
<td>30.8</td>
<td>30.9</td>
</tr>
<tr>
<td>FF</td>
<td>24.5</td>
<td>25.7</td>
<td>26.2</td>
<td>27.0</td>
<td>27.9</td>
<td>28.8</td>
<td>30.6</td>
<td>30.8</td>
</tr>
<tr>
<td>HBMO</td>
<td>24.4</td>
<td>25.6</td>
<td>26.2</td>
<td>26.9</td>
<td>27.8</td>
<td>28.6</td>
<td>30.4</td>
<td>30.7</td>
</tr>
<tr>
<td>QPSO</td>
<td>24.6</td>
<td>25.3</td>
<td>25.7</td>
<td>26.6</td>
<td>27.6</td>
<td>28.4</td>
<td>30.2</td>
<td>30.5</td>
</tr>
<tr>
<td>PSO</td>
<td>24.7</td>
<td>25.4</td>
<td>25.6</td>
<td>26.5</td>
<td>27.5</td>
<td>28.3</td>
<td>30.1</td>
<td>30.4</td>
</tr>
<tr>
<td>LBG</td>
<td>24.6</td>
<td>25.3</td>
<td>25.4</td>
<td>25.4</td>
<td>25.4</td>
<td>25.4</td>
<td>25.5</td>
<td>25.5</td>
</tr>
</tbody>
</table>
</table-wrap>
<p><xref ref-type="fig" rid="fig-9">Fig. 9</xref> shows the average PSNR values obtained by different methods under different bit rates. In addition, an average of all the PSNR values attained for the applied test images is tabulated in <xref ref-type="table" rid="table-2">Tab. 2</xref>. For the applied test_image 1, under the least bit rate of 0.1875, the methods used for comparison such as LBG, PSO, QPSO and HBMO attained a PSNR value of 24.0 which was lower than other methods. At the same time, both FF and CS algorithms obtained a PSNR value of 24.1 and 24.3 respectively. However, the newly developed OLBG-LZMA model reached a maximum PSNR value of 25.3. Under a moderate bit rate of 0.3750, the presented algorithm attained the highest PSNR value of 27.1 whereas the CS, FF, HBMO, QPSO, PSO and LBG models achieved the least PSNR values of 26.2, 26.0, 25.9, 25.7, 25.5 and 25.3 respectively. Under the highest bit rate of 0.625, the OLBG-LZMA method yielded significant results with a PSNR value of 33.2 which was much higher than the compared algorithms.</p>
<fig id="fig-9">
<label>Figure 9</label>
<caption>
<title>Comparative results of various algorithms in terms of average PSNR</title>
</caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="CMC_18636-fig-9.png"/>
</fig>
<table-wrap id="table-2">
<label>Table 2</label>
<caption>
<title>Comparison of average PSNR value of test images using various vector quantization algorithms</title>
</caption>
<table>
<colgroup>
<col/>
<col/>
<col/>
<col/>
<col/>
<col/>
<col/>
<col/>
</colgroup>
<thead>
<tr>
<th>Test images</th>
<th>OLBG-LZMA</th>
<th>CS</th>
<th>FF</th>
<th>HBMO</th>
<th>QPSO</th>
<th>PSO</th>
<th>LBG</th>
</tr>
</thead>
<tbody>
<tr>
<td>Image 1</td>
<td>28.38</td>
<td>27.24</td>
<td>27.04</td>
<td>27.01</td>
<td>26.78</td>
<td>26.64</td>
<td>25.24</td>
</tr>
<tr>
<td>Image 2</td>
<td>23.14</td>
<td>21.74</td>
<td>21.50</td>
<td>21.39</td>
<td>21.10</td>
<td>21.13</td>
<td>19.63</td>
</tr>
<tr>
<td>Image 3</td>
<td>29.05</td>
<td>27.81</td>
<td>27.44</td>
<td>27.34</td>
<td>27.35</td>
<td>27.33</td>
<td>24.24</td>
</tr>
<tr>
<td>Image 4</td>
<td>29.15</td>
<td>27.90</td>
<td>27.69</td>
<td>27.58</td>
<td>27.36</td>
<td>27.31</td>
<td>25.31</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>Similarly, for all the applied test images, the proposed OLBG-LZMA algorithm outperformed the existing algorithms in an efficient way. In table values, it is noted that the PSNR values start to rise with an increase in bit rate. This phenomenon can be observed from the PSNR values obtained for the least bit rate of 0.1875 and highest bit rate of 0.625 bit rate. The simulation results portray that the proposed OLBG-LZMA model is an efficient one compared to other algorithms under different codebook sizes.</p>
<p>Experimental validation was performed in Windows 10 operating system while its specifications were Intel(R) Core(TM) i7-7500U and 2.70 GHz CPU with 8 GB RAM. In addition, the execution code was developed and simulated in MATLAB. <xref ref-type="table" rid="table-3">Tab. 3</xref> and <xref ref-type="fig" rid="fig-10">Fig. 10</xref> shows the obtained average CT of various algorithms under different bit rates. The authors used 30 codebooks with 20 iterations. For a codebook of size 8 and a bit rate of 0.1875, the average CT required is shown in the table. From the table, for applied image 1, the highest CT of 977.200 was demanded by CS algorithm. In line with this, both HBMO and FF algorithms showed slightly lower CT values such as 890.254 and 877.123 respectively. The proposed OLBG-LZMA managed well with a moderate CT of 685.246.</p>
<fig id="fig-10">
<label>Figure 10</label>
<caption>
<title>CT analysis of OLBG-LZMA model with other existing methods</title>
</caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="CMC_18636-fig-10.png"/>
</fig>
<table-wrap id="table-3">
<label>Table 3</label>
<caption>
<title>Comparison of average CT of test images using various vector quantization algorithms at 0.1875 bit rate and <inline-formula id="ieqn-57"><mml:math id="mml-ieqn-57"><mml:msub><mml:mi mathvariant="bold-italic">N</mml:mi><mml:mrow><mml:mi mathvariant="bold-italic">C</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> of 8</title>
</caption>
<table>
<colgroup>
<col/>
<col/>
<col/>
<col/>
<col/>
<col/>
<col/>
<col/>
</colgroup>
<thead>
<tr>
<th rowspan="2">Test images</th>
<th colspan="7">Average CT (ms)</th>
</tr>
<tr>
<th>LBG</th>
<th>PSO</th>
<th>QPSO</th>
<th>HBMO</th>
<th>FF</th>
<th>CS</th>
<th>OLBG-LZMA</th>
</tr>
</thead>
<tbody>
<tr>
<td>Image 1</td>
<td>3.3715</td>
<td>254.357</td>
<td>261.299</td>
<td>890.254</td>
<td>877.123</td>
<td>977.200</td>
<td>685.246</td>
</tr>
<tr>
<td>Image 2</td>
<td>4.3135</td>
<td>322.996</td>
<td>326.493</td>
<td>723.897</td>
<td>705.210</td>
<td>1411.39</td>
<td>531.982</td>
</tr>
<tr>
<td>Image 3</td>
<td>3.6228</td>
<td>247.211</td>
<td>346.986</td>
<td>681.978</td>
<td>661.281</td>
<td>1069.05</td>
<td>423.846</td>
</tr>
<tr>
<td>Image 4</td>
<td>3.8433</td>
<td>257.520</td>
<td>268.403</td>
<td>654.976</td>
<td>631.435</td>
<td>1680.33</td>
<td>582.931</td>
</tr>
<tr>
<td>Average</td>
<td>3.7877</td>
<td>270.521</td>
<td>300.795</td>
<td>737.776</td>
<td>718.762</td>
<td>1284.49</td>
<td>556.001</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>But, the existing LBG, PSO and QPSO algorithms achieved effective CT performance with least values of 3.3715, 254.357 and 261.299 respectively. It is clear that the LBG model needs a least CT of 3.3715 s which is highly appreciable. But, its poor performance in PSNR value limits its applications. However, the proposed OLBG-LZMA model has moderate CT and it yielded significant PSNR value which makes it preferable than the CT.</p>
</sec>
</sec>
<sec id="s5">
<label>5</label>
<title>Conclusion</title>
<p>Image compression techniques are generally used to minimize the number of bits needed to store and share microarray images. The current research paper proposed an effective OGWO-LZMA model to compress microarray images. The proposed model involves two stages such as OLBG-based codebook construction and LZMA-based codebook compression. After the construction of codebook using LBG-GWO algorithm, LZMA is employed to compress the index table and increase the compression efficiency in addition. Experiments were performed on high resolution microarray dataset and the compression performance of OGWO-LZMA was compared with other methods. The simulation results inferred that the OGWO-LZMA algorithm achieves significant compression performance. At the same time, the OLBG-LZMA achieved a moderate CT and provided significant PSNR value which makes the CT, unnoticeable. In future, the performance of the OGWO-LZMA model can be improved by incorporating hybrid metaheuristic algorithms.</p>
</sec>
</body>
<back>
<fn-group>
<fn fn-type="other">
<p><bold>Funding Statement:</bold> The authors received no specific funding for this study.</p>
</fn>
<fn fn-type="conflict">
<p><bold>Conflicts of Interest:</bold> The authors declare that they have no conflicts of interest to report regarding the present study.</p>
</fn>
</fn-group>
<ref-list content-type="authoryear">
<title>References</title>
<ref id="ref-1"><label>[1]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>A.</given-names> <surname>Mohandas</surname></string-name>, <string-name><given-names>S. M.</given-names> <surname>Joseph</surname></string-name> and <string-name><given-names>P. S.</given-names> <surname>Sathidevi</surname></string-name></person-group>, &#x201C;<article-title>An autoencoder based technique for DNA microarray image denoising</article-title>,&#x201D; in <conf-name>Int. Conf. on Communication and Signal Processing</conf-name>, <conf-loc>Chennai, India</conf-loc>, <conf-name>IEEE</conf-name>, pp. <fpage>1366</fpage>&#x2013;<lpage>1371</lpage>, <year>2020</year>.</mixed-citation></ref>
<ref id="ref-2"><label>[2]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>L.</given-names> <surname>Herbsthofer</surname></string-name>, <string-name><given-names>B.</given-names> <surname>Prietl</surname></string-name>, <string-name><given-names>M.</given-names> <surname>Tomberger</surname></string-name>, <string-name><given-names>T.</given-names> <surname>Pieber</surname></string-name> and <string-name><given-names>P. L.</given-names> <surname>Garc&#x00ED;a</surname></string-name></person-group>, &#x201C;<article-title>C2G-Net: Exploiting morphological properties for image classification</article-title>,&#x201D; <source>Computer Vision and Pattern Recognition</source>, pp. <fpage>1</fpage>&#x2013;<lpage>10</lpage>, <year>2020</year>.</mixed-citation></ref>
<ref id="ref-3"><label>[3]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>G.</given-names> <surname>Patane</surname></string-name> and <string-name><given-names>M.</given-names> <surname>Russo</surname></string-name></person-group>, &#x201C;<article-title>The enhanced LBG algorithm</article-title>,&#x201D; <source>Neural Networks</source>, vol. <volume>14</volume>, no. <issue>9</issue>, pp. <fpage>1219</fpage>&#x2013;<lpage>1237</lpage>, <year>2002</year>.</mixed-citation></ref>
<ref id="ref-4"><label>[4]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>K. H.</given-names> <surname>Jung</surname></string-name> and <string-name><given-names>C. W.</given-names> <surname>Lee</surname></string-name></person-group>, &#x201C;<article-title>Image compression using projection vector quantization with quadtree decomposition</article-title>,&#x201D; <source>Signal Processing: Image Communication</source>, vol. <volume>8</volume>, no. <issue>5</issue>, pp. <fpage>379</fpage>&#x2013;<lpage>386</lpage>, <year>1996</year>.</mixed-citation></ref>
<ref id="ref-5"><label>[5]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>A. H.</given-names> <surname>Abouali</surname></string-name></person-group>, &#x201C;<article-title>Object-based VQ for image compression</article-title>,&#x201D; <source>Ain Shams Engineering Journal</source>, vol. <volume>6</volume>, no. <issue>1</issue>, pp. <fpage>211</fpage>&#x2013;<lpage>216</lpage>, <year>2015</year>.</mixed-citation></ref>
<ref id="ref-6"><label>[6]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>K.</given-names> <surname>Geetha</surname></string-name>, <string-name><given-names>V.</given-names> <surname>Anitha</surname></string-name>, <string-name><given-names>M.</given-names> <surname>Elhoseny</surname></string-name>, <string-name><given-names>S.</given-names> <surname>Kathiresan</surname></string-name>, <string-name><given-names>P.</given-names> <surname>Shamsolmoali</surname></string-name> <etal>et al.</etal></person-group><italic>,</italic> &#x201C;<article-title>An evolutionary lion optimization algorithm-based image compression technique for biomedical applications</article-title>,&#x201D; <source>Expert Systems</source>, vol. <volume>38</volume>, no. <issue>1</issue>, pp. <fpage>e12508</fpage>, <year>2021</year>.</mixed-citation></ref>
<ref id="ref-7"><label>[7]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>S.</given-names> <surname>Kazuya</surname></string-name>, <string-name><given-names>S.</given-names> <surname>Sato</surname></string-name>, <string-name><given-names>M.</given-names> <surname>Junji</surname></string-name> and <string-name><given-names>S.</given-names> <surname>Yukinori</surname></string-name></person-group>, &#x201C;<article-title>Vector quantization of images with variable block size</article-title>,&#x201D; <source>Applied Soft Computing</source>, vol. <volume>8</volume>, no. <issue>1</issue>, pp. <fpage>634</fpage>&#x2013;<lpage>664</lpage>, <year>2008</year>.</mixed-citation></ref>
<ref id="ref-8"><label>[8]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>T.</given-names> <surname>Dimitrios</surname></string-name>, <string-name><given-names>E. T.</given-names> <surname>George</surname></string-name> and <string-name><given-names>T.</given-names> <surname>John</surname></string-name></person-group>, &#x201C;<article-title>Fuzzy vector quantization for image compression based on competitive agglomeration and a novel codeword migration strategy</article-title>,&#x201D; <source>Engineering Applications of Artificial Intelligence</source>, vol. <volume>25</volume>, pp. <fpage>1212</fpage>&#x2013;<lpage>1225</lpage>, <year>2012</year>.</mixed-citation></ref>
<ref id="ref-9"><label>[9]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>T.</given-names> <surname>Dimitrios</surname></string-name>, <string-name><given-names>E. T.</given-names> <surname>George</surname></string-name>, <string-name><given-names>D. N.</given-names> <surname>Antonios</surname></string-name> and <string-name><given-names>R.</given-names> <surname>Anastasios</surname></string-name></person-group>, &#x201C;<article-title>On the systematic development of fast fuzzy vector quantization for grayscale image compression</article-title>,&#x201D; <source>Neural Networks</source>, vol. <volume>36</volume>, no. <issue>11</issue>, pp. <fpage>83</fpage>&#x2013;<lpage>96</lpage>, <year>2012</year>.</mixed-citation></ref>
<ref id="ref-10"><label>[10]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>L.</given-names> <surname>Xiaohui</surname></string-name>, <string-name><given-names>R.</given-names> <surname>Jinchang</surname></string-name>, <string-name><given-names>Z.</given-names> <surname>Chunhui</surname></string-name>, <string-name><given-names>Q.</given-names> <surname>Tong</surname></string-name> and <string-name><given-names>M.</given-names> <surname>Stephen</surname></string-name></person-group>, &#x201C;<article-title>Novel multivariate vector quantization for effective compression of hyperspectral imagery</article-title>,&#x201D; <source>Optics Communications</source>, vol. <volume>332</volume>, no. <issue>20</issue>, pp. <fpage>192</fpage>&#x2013;<lpage>200</lpage>, <year>2014</year>.</mixed-citation></ref>
<ref id="ref-11"><label>[11]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>X.</given-names> <surname>Wang</surname></string-name> and <string-name><given-names>J.</given-names> <surname>Meng</surname></string-name></person-group>, &#x201C;<article-title>A 2-D ECG compression algorithm based on wavelet transform and vector quantization</article-title>,&#x201D; <source>Digital Signal Processing</source>, vol. <volume>18</volume>, no. <issue>2</issue>, pp. <fpage>179</fpage>&#x2013;<lpage>188</lpage>, <year>2008</year>.</mixed-citation></ref>
<ref id="ref-12"><label>[12]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>A.</given-names> <surname>Rajpoot</surname></string-name>, <string-name><given-names>A.</given-names> <surname>Hussain</surname></string-name>, <string-name><given-names>K.</given-names> <surname>Saleem</surname></string-name> and <string-name><given-names>Q.</given-names> <surname>Qureshi</surname></string-name></person-group>, &#x201C;<article-title>A novel image coding algorithm using ant colony system vector quantization</article-title>,&#x201D; in <conf-name>Int. Workshop on Systems, Signals and Image Processing</conf-name>, <conf-loc>Poznan, Poland</conf-loc>, pp. <fpage>1</fpage>&#x2013;<lpage>4</lpage>, <year>2004</year>.</mixed-citation></ref>
<ref id="ref-13"><label>[13]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>C. W.</given-names> <surname>Tsai</surname></string-name>, <string-name><given-names>S. P.</given-names> <surname>Tseng</surname></string-name>, <string-name><given-names>C. S.</given-names> <surname>Yang</surname></string-name> and <string-name><given-names>M. C.</given-names> <surname>Chiang</surname></string-name></person-group>, &#x201C;<article-title>PREACO: A fast ant colony optimization for codebook generation</article-title>,&#x201D; <source>Applied Soft Computing</source>, vol. <volume>13</volume>, no. <issue>6</issue>, pp. <fpage>3008</fpage>&#x2013;<lpage>3020</lpage>, <year>2013</year>.</mixed-citation></ref>
<ref id="ref-14"><label>[14]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>Q.</given-names> <surname>Chen</surname></string-name>, <string-name><given-names>J.</given-names> <surname>Yang</surname></string-name> and <string-name><given-names>J.</given-names> <surname>Gou</surname></string-name></person-group>, &#x201C;<article-title>Gou Image compression method using improved PSO vector quantization</article-title>,&#x201D; in <conf-name>First Int. Conf. on Neural Computation. Proc.: Lecture Notes in Computer Science Book Series</conf-name>, <conf-loc>Berlin, Heidelberg</conf-loc>, <conf-name>Springer</conf-name>, vol. <volume>3612</volume>, pp. <fpage>490</fpage>&#x2013;<lpage>495</lpage>, <year>2005</year>.</mixed-citation></ref>
<ref id="ref-15"><label>[15]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>H.</given-names> <surname>Feng</surname></string-name>, <string-name><given-names>C.</given-names> <surname>Chen</surname></string-name> and <string-name><given-names>Y.</given-names> <surname>Fun</surname></string-name></person-group>, &#x201C;<article-title>Evolutionary fuzzy particle swarm optimization vector quantization learning scheme in image compression</article-title>,&#x201D; <source>Expert Systems with Applications</source>, vol. <volume>32</volume>, no. <issue>1</issue>, pp. <fpage>213</fpage>&#x2013;<lpage>222</lpage>, <year>2007</year>.</mixed-citation></ref>
<ref id="ref-16"><label>[16]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>Y.</given-names> <surname>Wang</surname></string-name>, <string-name><given-names>X. Y.</given-names> <surname>Feng</surname></string-name>, <string-name><given-names>Y. X.</given-names> <surname>Huang</surname></string-name>, <string-name><given-names>W. G.</given-names> <surname>Zhou</surname></string-name>, <string-name><given-names>Y. C.</given-names> <surname>Liang</surname></string-name> <etal>et al.</etal></person-group><italic>,</italic> &#x201C;<article-title>A novel quantum swarm evolutionary algorithm and its applications</article-title>,&#x201D; <source>Neurocomputing</source>, vol. <volume>70</volume>, no. <issue>4&#x2013;6</issue>, pp. <fpage>633</fpage>&#x2013;<lpage>640</lpage>, <year>2007</year>.</mixed-citation></ref>
<ref id="ref-17"><label>[17]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>C.</given-names> <surname>Chang</surname></string-name>, <string-name><given-names>Y. C.</given-names> <surname>Li</surname></string-name> and <string-name><given-names>J.</given-names> <surname>Yeh</surname></string-name></person-group>, &#x201C;<article-title>Fast codebook search algorithms based on tree-structured vector quantization</article-title>,&#x201D; <source>Pattern Recognition Letters</source>, vol. <volume>27</volume>, no. <issue>10</issue>, pp. <fpage>1077</fpage>&#x2013;<lpage>1086</lpage>, <year>2006</year>.</mixed-citation></ref>
<ref id="ref-18"><label>[18]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>H. Y.</given-names> <surname>Chen</surname></string-name>, <string-name><given-names>H.</given-names> <surname>Bing</surname></string-name> and <string-name><given-names>C. T.</given-names> <surname>Chih</surname></string-name></person-group>, &#x201C;<article-title>Fast VQ codebook search for gray scale image coding</article-title>,&#x201D; <source>Image and Vision Computing</source>, vol. <volume>26</volume>, no. <issue>5</issue>, pp. <fpage>657</fpage>&#x2013;<lpage>666</lpage>, <year>2008</year>.</mixed-citation></ref>
<ref id="ref-19"><label>[19]</label><mixed-citation publication-type="book"><person-group person-group-type="author"><string-name><given-names>N.</given-names> <surname>Sanyal</surname></string-name>, <string-name><given-names>A.</given-names> <surname>Chatterjee</surname></string-name> and <string-name><given-names>S.</given-names> <surname>Munshi</surname></string-name></person-group>, &#x201C;<chapter-title>Modified bacterial foraging optimization technique for vector quantization-based image compression</chapter-title>,&#x201D; in <source>Computational Intelligence in Image Processing</source>. <publisher-loc>Berlin, Heidelberg</publisher-loc>: <publisher-name>Springer</publisher-name>, pp. <fpage>131</fpage>&#x2013;<lpage>152</lpage><year>2012</year>.</mixed-citation></ref>
<ref id="ref-20"><label>[20]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>M.</given-names> <surname>Horng</surname></string-name> and <string-name><given-names>T.</given-names> <surname>Jiang</surname></string-name></person-group>, &#x201C;<article-title>Image vector quantization algorithm via honey bee mating optimization</article-title>,&#x201D; <source>Expert Systems with Applications</source>, vol. <volume>38</volume>, no. <issue>3</issue>, pp. <fpage>1382</fpage>&#x2013;<lpage>1392</lpage>, <year>2011</year>.</mixed-citation></ref>
<ref id="ref-21"><label>[21]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>M.</given-names> <surname>Horng</surname></string-name></person-group>, &#x201C;<article-title>Vector quantization using the firefly algorithm for image compression</article-title>,&#x201D; <source>Expert Systems with Applications</source>, vol. <volume>39</volume>, no. <issue>1</issue>, pp. <fpage>1078</fpage>&#x2013;<lpage>1091</lpage>, <year>2012</year>.</mixed-citation></ref>
<ref id="ref-22"><label>[22]</label><mixed-citation publication-type="book"><person-group person-group-type="author"><string-name><given-names>K.</given-names> <surname>Chiranjeevi</surname></string-name>, <string-name><given-names>U. R.</given-names> <surname>Jena</surname></string-name>, <string-name><given-names>B. M.</given-names> <surname>Krishna</surname></string-name> and <string-name><given-names>J.</given-names> <surname>Kumar</surname></string-name></person-group>, &#x201C;<chapter-title>Modified firefly algorithm (MFA) based vector quantization for image compression</chapter-title>,&#x201D; in <source>Computational Intelligence in Data Mining&#x2014;Volume 2. Advances in Intelligent Systems and Computing</source>. vol. <volume>411</volume>. <publisher-loc>New Delhi</publisher-loc>: <publisher-name>Springer</publisher-name>, pp. <fpage>373</fpage>&#x2013;<lpage>382</lpage>, <year>2015</year>.</mixed-citation></ref>
<ref id="ref-23"><label>[23]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>K.</given-names> <surname>Chiranjeevi</surname></string-name> and <string-name><given-names>U. R.</given-names> <surname>Jena</surname></string-name></person-group>, &#x201C;<article-title>Fast vector quantization using bat algorithm for image compression</article-title>,&#x201D; <source>Engineering Science and Technology, an International Journal</source>, vol. <volume>19</volume>, no. <issue>2</issue>, pp. <fpage>769</fpage>&#x2013;<lpage>781</lpage>, <year>2016</year>.</mixed-citation></ref>
<ref id="ref-24"><label>[24]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>M.</given-names> <surname>Lakshmia</surname></string-name>, <string-name><given-names>J.</given-names> <surname>Senthilkumar</surname></string-name> and <string-name><given-names>Y.</given-names> <surname>Suresh</surname></string-name></person-group>, &#x201C;<article-title>Visually lossless compression for bayer color filter array using optimized vector quantization</article-title>,&#x201D; <source>Applied Soft Computing</source>, vol. <volume>46</volume>, no. <issue>2</issue>, pp. <fpage>1030</fpage>&#x2013;<lpage>1042</lpage>, <year>2016</year>.</mixed-citation></ref>
<ref id="ref-25"><label>[25]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>S.</given-names> <surname>Mirjalili</surname></string-name>, <string-name><given-names>S. M.</given-names> <surname>Mirjalili</surname></string-name> and <string-name><given-names>A.</given-names> <surname>Lewis</surname></string-name></person-group>, &#x201C;<article-title>Grey wolf optimizer</article-title>,&#x201D; <source>Advances in Engineering Software</source>, vol. <volume>69</volume>, pp. <fpage>46</fpage>&#x2013;<lpage>61</lpage>, <year>2014</year>.</mixed-citation></ref>
</ref-list>
</back>
</article>
