<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE article  PUBLIC "-//NLM//DTD Journal Publishing DTD v3.0 20080202//EN" "http://dtd.nlm.nih.gov/publishing/3.0/journalpublishing3.dtd"><article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" dtd-version="3.0" xml:lang="en" article-type="research article"><front><journal-meta><journal-id journal-id-type="publisher-id">JIS</journal-id><journal-title-group><journal-title>Journal of Information Security</journal-title></journal-title-group><issn pub-type="epub">2153-1234</issn><publisher><publisher-name>Scientific Research Publishing</publisher-name></publisher></journal-meta><article-meta><article-id pub-id-type="doi">10.4236/jis.2013.42010</article-id><article-id pub-id-type="publisher-id">JIS-30057</article-id><article-categories><subj-group subj-group-type="heading"><subject>Articles</subject></subj-group><subj-group subj-group-type="Discipline-v2"><subject>Computer Science&amp;Communications</subject></subj-group></article-categories><title-group><article-title>
 
 
  Watermarking Images in the Frequency Domain by Exploiting Self-Inverting Permutations
 
</article-title></title-group><contrib-group><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>aria</surname><given-names>Chroni</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref><xref ref-type="corresp" rid="cor1"><sup>*</sup></xref></contrib><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Angelos</surname><given-names>Fylakis</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref><xref ref-type="corresp" rid="cor1"><sup>*</sup></xref></contrib><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Stavros</surname><given-names>D. Nikolopoulos</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref><xref ref-type="corresp" rid="cor1"><sup>*</sup></xref></contrib></contrib-group><aff id="aff1"><addr-line>Department of Computer Science, University of Ioannina, Ioannina, Greece</addr-line></aff><author-notes><corresp id="cor1">* E-mail:<email>mchroni@cs.uoi.gr(AC)</email>;<email>afylakis@cs.uoi.gr(AF)</email>;<email>stavros@cs.uoi.gr(SDN)</email>;</corresp></author-notes><pub-date pub-type="epub"><day>23</day><month>04</month><year>2013</year></pub-date><volume>04</volume><issue>02</issue><fpage>80</fpage><lpage>91</lpage><history><date date-type="received"><day>January</day>	<month>25,</month>	<year>2013</year></date><date date-type="rev-recd"><day>February</day>	<month>27,</month>	<year>2013</year>	</date><date date-type="accepted"><day>March</day>	<month>6,</month>	<year>2013</year></date></history><permissions><copyright-statement>&#169; Copyright  2014 by authors and Scientific Research Publishing Inc. </copyright-statement><copyright-year>2014</copyright-year><license><license-p>This work is licensed under the Creative Commons Attribution International License (CC BY). http://creativecommons.org/licenses/by/4.0/</license-p></license></permissions><abstract><p>
 
 
   In this work we propose efficient codec algorithms for watermarking images that are intended for uploading on the web under intellectual property protection. Headed to this direction, we recently suggested a way in which an integer number w which being transformed into a self-inverting permutation, can be represented in a two dimensional (2D) object and thus, since images are 2D structures, we have proposed a watermarking algorithm that embeds marks on them using the 2D representation of w in the spatial domain. Based on the idea behind this technique, we now expand the usage of this concept by marking the image in the frequency domain. In particular, we propose a watermarking technique that also uses the 2D representation of self-inverting permutations and utilizes marking at specific areas thanks to partial modifications of the image’s Discrete Fourier Transform (DFT). Those modifications are made on the magnitude of specific frequency bands and they are the least possible additive information ensuring robustness and imperceptiveness. We have experimentally evaluated our algorithms using various images of different characteristics under JPEG compression. The experimental results show an improvement in comparison to the previously obtained results and they also depict the validity of our proposed codec algorithms.
     
 
</p></abstract><kwd-group><kwd>Watermarking Techniques; Image Watermarking Algorithms; Self-Inverting Permutations; 2D Representations of Permutations; Encoding; Decoding; Frequency Domain; Experimental Evaluation</kwd></kwd-group></article-meta></front><body><sec id="s1"><title>1. Introduction</title><p>Internet technology, in modern communities, becomes day by day an indispensable tool for everyday life since most people use it on a regular basis and do many daily activities online [<xref ref-type="bibr" rid="scirp.30057-ref1">1</xref>]. This frequent use of the internet means that measures taken for internet security are indispensable since the web is not risk-free [2,3]. One of those risks is the fact that the web is an environment where intellectual property is under threat since a huge amount of public personal data is continuously transferred, and thus such data may end up on a user who falsely claims ownership.</p><p>It is without any doubt that images, apart from text, are the most frequent type of data that can be found on the internet. As digital images are a characteristic kind of intellectual material, people hesitate to upload and transfer them via the internet because of the ease of intercepting, copying and redistributing in their exact original form [<xref ref-type="bibr" rid="scirp.30057-ref4">4</xref>]. Encryption is not the problem’s solution in most cases, as most people that upload images in a website want them to be visible by everyone, but safe and theft protected as well. Watermarks are a solution to this problem as they enable someone to claim an image’s ownership if he previously embedded one in it. Image watermarks can be visible or not, but if we don’t want any cosmetic changes in an image then an invisible watermark should be used. That’s what our work suggests a technique according to which invisible watermarks are embedded into images using features of the image’s frequency domain and graph theory as well.</p><p>We next briefly describe the main idea behind the watermarking technique, the motivation of our work, and our contribution.</p><sec id="s1_1"><title>1.1. Watermarking</title><p>In general, watermarks are symbols which are placed into physical objects such as documents, photos, etc. and their purpose is to carry information about objects’ authenticity [<xref ref-type="bibr" rid="scirp.30057-ref5">5</xref>].</p><p>A digital watermark is a kind of marker embedded in a digital object such as image, audio, video, or software and, like a typical watermark, it is used to identify ownership of the copyright of such an object. Digital watermarking (or, hereafter, watermarking) is a technique for protecting the intellectual property of a digital object; the idea is simple: a unique marker, which is called watermark, is embedded into a digital object which may be used to verify its authenticity or the identity of its owners [6,7]. More precisely, watermarking can be described as the problem of embedding a watermark <img src="3-7800146\07814a77-52bf-4434-98e3-1c31cc463f71.jpg" /> into an object <img src="3-7800146\30d976f1-1cf9-4603-a47b-020c1cb21f36.jpg" /> and, thus, producing a new object<img src="3-7800146\1993785f-dac5-4f95-8509-8e7b90af5f8f.jpg" />, such that <img src="3-7800146\f2d60f8f-f0e2-4d53-9456-8c98ebb7ce7b.jpg" /> can be reliably located and extracted from <img src="3-7800146\0e3db5d2-e905-46bb-b2da-0387c84d20fb.jpg" /> even after <img src="3-7800146\4c0ea002-cdf2-4ab7-8ea6-9aa088a400d6.jpg" /> has been subjected to transformations [<xref ref-type="bibr" rid="scirp.30057-ref7">7</xref>]; for example, compression, scaling or rotation in case where the object is an image.</p><p>In the image watermarking process the digital information, i.e., the watermark, is hidden in image data. The watermark is embedded into image’s data through the introduction of errors not detectable by human perception [<xref ref-type="bibr" rid="scirp.30057-ref8">8</xref>]; note that, if the image is copied or transferred through the internet then the watermark is also carried with the copy into the image’s new location.</p></sec><sec id="s1_2"><title>1.2. Motivation</title><p>Intellectual property protection is one of the greatest concerns of internet users today. Digital images are considered a representative part of such properties so we consider important, the development of methods that deter malicious users from claiming others’ ownership, motivating internet users to feel safer to publish their work online.</p><p>Image Watermarking, is a technique that serves the purpose of image intellectual property protection ideally as in contrast with other techniques it allows images to be available to third internet users but simultaneously carry an “identity” that is actually the proof of ownership with them. This way image watermarking achieves its target of deterring copy and usage without permission of the owner. What is more by saying watermarking we don’t necessarily mean that we put a logo or a sign on the image as research is also done towards watermarks that are both invisible and robust.</p><p>Our work suggests a method of embedding a numerical watermark into the image’s structure in an invisible and robust way to specific transformations, such as JPEG compression.</p></sec><sec id="s1_3"><title>1.3. Contribution</title><p>In this work we present an efficient and easily implemented technique for watermarking images that we are interested in uploading in the web and making them public online; this way web users are enabled to claim the ownership of their images.</p><p>What is important for our idea is the fact that it suggests a way in which an integer number can be represented with a two dimensional representation (or, for short, 2D representation). Thus, since images are two dimensional objects that representation can be efficiently marked on them resulting the watermarked images. In a similar way, such a 2D representation can be extracted for a watermarked image and converted back to the integer<img src="3-7800146\d5baa320-95af-4e65-ab62-04aec2cdd08b.jpg" />.</p><p>Having designed an efficient method for encoding integers as self-inverting permutations, we propose an efficient algorithm for encoding a self-inverting permutation <img src="3-7800146\181cc70d-c1e3-4a8c-a107-1cf332b18dbe.jpg" /> into an image <img src="3-7800146\0749866b-b265-482b-a56d-6f0a774f4bf2.jpg" /> by first mapping the elements of <img src="3-7800146\ef45e3b0-d4e9-42f5-a221-3e13057a28e1.jpg" /> into an <img src="3-7800146\bf4ddf11-b27e-4c35-82df-84a87390fd05.jpg" /> matrix <img src="3-7800146\0a939de6-e21f-4d4d-a454-2215da5db445.jpg" /> and then using the information stored in <img src="3-7800146\b99ec96a-24ac-4e0e-9489-fa9d84d6622e.jpg" /> to mark specific areas of image <img src="3-7800146\18708662-50aa-48b4-88ae-aa15de549293.jpg" /> in the frequency domain resulting the watermarked image<img src="3-7800146\d3c99ee0-a0bb-477b-9ac2-85e3c562b5c0.jpg" />. We also propose an efficient algorithm for extracting the embedded self-inverting permutation <img src="3-7800146\cda1c22d-3a43-42a5-ad11-7fb0f7c53d8d.jpg" /> from the watermarked image <img src="3-7800146\fa72e7cf-3e76-4adc-9bc9-90844fd2f91d.jpg" /> by locating the positions of the marks in<img src="3-7800146\0e4bbc5f-13c7-4016-a3e7-afa88f65d308.jpg" />; it enables us to recontract the 2D representation of the self-inverting permutation<img src="3-7800146\f77b84b7-5eba-4b19-9aa7-9c0429d7a615.jpg" />.</p><p>It is worth noting that although digital watermarking has made considerable progress and became a popular technique for copyright protection of multimedia information [<xref ref-type="bibr" rid="scirp.30057-ref8">8</xref>], our work proposes something new. We first point out that our watermarking method incorporates such properties which allow us to successfully extract the watermark <img src="3-7800146\e40ba1ee-fbff-47e7-b10e-0d0b02997740.jpg" /> from the image <img src="3-7800146\ae802041-2c06-4778-92e0-b8da1527025c.jpg" /> even if the input image has been compressed with a lossy method. In addition, our embedding method can transform a watermark from a numerical form into a two dimensional (2D) representation and, since images are 2D structures, it can efficiently embed the 2D representation of the watermark by marking the high frequency bands of specific areas of an image. The key idea behind our extracting method is that it does not actually extract the embedded information instead it locates the marked areas reconstructing the watermark’s numerical value.</p><p>We have evaluated the embedding and extracting algorithms by testing them on various and different in characteristics images that were initially in JPEG format and we had positive results as the watermark was successfully extracted even if the image was converted back into JPEG format with various compression ratios. What is more, the method is open to extensions as the same method might be used with a different marking procedure such as the one we used in our previous work. Note that, all the algorithms have been developed and tested in MATLAB [<xref ref-type="bibr" rid="scirp.30057-ref9">9</xref>].</p></sec><sec id="s1_4"><title>1.4. Road Map</title><p>The paper is organized as follows. In Section 2 we present an efficient transformation of a watermark from an integer form to a two dimensional (2D) representation through the exploitation of self-inverting permutation properties. In Section 3 we briefly describe the main idea behind our recently proposed image watermarking algorithm, while in Section 4 we present our contribution with this paper. In Section 5 we show properties of our image watermarking technique and evaluate the performance of the corresponding watermarking algorithms. Section 6 concludes the paper and discusses possible future extensions.</p></sec></sec><sec id="s2"><title>2. Theoretical Framework</title><p>In this section we first describe discrete structures, namely, permutations and self-inverting permutations, and briefly discuss a codec system which encodes an integer number <img src="3-7800146\88c8dfb4-a658-4c15-bdd6-05fb8223622f.jpg" /> into a self-inverting permutation<img src="3-7800146\4a6dea9b-5b90-4550-9849-b47788992c43.jpg" />. Then, we present a transformation of a watermark from a numerical form to a 2D form (i.e., 2D representation) through the exploitation of self-inverting permutation properties.</p><sec id="s2_1"><title>2.1. Self-Inverting Permutations</title><p>Informally, a permutation of a set of objects <img src="3-7800146\b2a59754-d86a-4a8c-b7d9-6286a7754d59.jpg" /> is an arrangement of those objects into a particular order, while in a formal (mathematical) way a permutation of a set of objects <img src="3-7800146\9fc2ef41-7944-45bb-9640-c16c8ac51388.jpg" /> is defined as a bijection from <img src="3-7800146\3b646b20-3356-471c-8a81-0001f8bd949a.jpg" /> to itself (i.e., a map <img src="3-7800146\fe976a13-165b-4054-bcc2-405e9b6c5073.jpg" /> for which every element of <img src="3-7800146\15404449-d023-4ebd-89fd-57178604048f.jpg" /> occurs exactly once as image value).</p><p>Permutations may be represented in many ways. The most straightforward is simply a rearrangement of the elements of the set<img src="3-7800146\0fce6a60-3c93-43da-ac65-08ea6b0fff61.jpg" />; in this way we think of the permutation <img src="3-7800146\429dc6ca-76ae-45a9-adce-b397468c131c.jpg" /> as a rearrangement of the elements of the set <img src="3-7800146\83ca3fd2-0b52-4486-bcec-af19dd9bc3ed.jpg" /> such that “1 goes to 5”, “2 goes to 6”, “3 goes to 9”, “4 goes to 8”, and so on [10,11]. Hereafter, we shall say that <img src="3-7800146\fa745f19-6028-4e35-bb12-33ce9a88d947.jpg" /> is a permutation over the set<img src="3-7800146\db1464b1-489a-4104-a0cd-038259164c59.jpg" />.</p><p>Definition: Let <img src="3-7800146\44ebbe71-9d34-445e-a1ef-05001ad24a25.jpg" /> be a permutation over the set<img src="3-7800146\d14cea4d-fd90-40c2-bd20-1f2e6bb76ce1.jpg" />, where<img src="3-7800146\3b2f14a6-decb-40e3-9a92-8a291aeded38.jpg" />. The inverse of the permutation <img src="3-7800146\5eaabeb4-0dd4-40b8-87e4-7924e1b1fd0d.jpg" /> is the permutation <img src="3-7800146\e189bc3d-2400-4d07-b663-07cf5d29c1da.jpg" /> with<img src="3-7800146\11db31d9-7ee3-4224-8123-5d962153d1a5.jpg" />. A self-inverting permutation (or, for short, SiP) is a permutation that is its own inverse:<img src="3-7800146\33fc5ac0-84d2-4db9-aed4-1b3552994bfe.jpg" />.</p><p>By definition, a permutation is a SiP (self-inverting permutation) if and only if all its cycles are of length 1 or 2; for example, the permutation <img src="3-7800146\dd34e85b-3310-4b2a-80e1-02d32bed8747.jpg" /> is a SiP with cycles: (1,5), (2,6), (3,9), (4,8), and (7).</p></sec><sec id="s2_2"><title>2.2. Encoding Numbers as SiPs</title><p>There are several systems that correspond integer numbers into permutations or self-inverting permutation [<xref ref-type="bibr" rid="scirp.30057-ref10">10</xref>]. Recently, we have proposed algorithms for such a system which efficiently encodes an integer <img src="3-7800146\48295036-f4d7-46fb-a268-3518c49091ed.jpg" /> into a self-inverting permutations <img src="3-7800146\8ab738ab-af35-475e-b782-224ae5ff60f0.jpg" /> and efficiently decodes it. The algorithms of our codec system run in <img src="3-7800146\549aba5b-abc7-4cc3-94c6-f181c58d0924.jpg" /> time, where <img src="3-7800146\3429f72d-8870-43d5-a1df-1b4ee04b796b.jpg" /> is the length of the binary representation of the integer<img src="3-7800146\7bfb7372-020d-4490-9d93-6cc8ef0ecde9.jpg" />, while the key-idea behind its algorithms is mainly based on mathematical objects, namely, bitonic permutations [<xref ref-type="bibr" rid="scirp.30057-ref12">12</xref>].</p><p>We briefly describe below our codec algorithms which in fact correspond integer numbers into self-inverting permutations; we show the correspondence between the integer <img src="3-7800146\2b465a8e-c48c-406b-bb9e-f0e7b2692166.jpg" /> and the self-inverting permutation <img src="3-7800146\42301bfe-0bd6-4791-a09d-014919c97a51.jpg" /> by the help of an example.</p><p>Example W-to-SiP: Let <img src="3-7800146\1d3ee2fe-bfb6-46ff-9d1f-894b56bed157.jpg" /> be the given watermark integer. We first compute the binary representation <img src="3-7800146\849c043b-94d4-4672-938c-f53f2a99c052.jpg" /> of the number 12; then we construct the binary number <img src="3-7800146\0923faab-67a1-4860-a135-aed9dab209cf.jpg" /> and the binary sequence <img src="3-7800146\b3d19b54-3ff2-4d8d-a02e-8e9e20640dc8.jpg" /> by flipping the elements of<img src="3-7800146\5656a79e-db24-43d2-86ee-657b298eece5.jpg" />; we compute the sequences <img src="3-7800146\b2817631-8901-4f05-ad79-d03a5c9c706a.jpg" /> and <img src="3-7800146\b5c55a55-cd46-425c-ba11-e3e6235139fb.jpg" /> by taking into account the indices of 0s and 1s in<img src="3-7800146\7a8750d4-67d1-4075-bf8f-6dab01a70628.jpg" />, and then the bitonic permutation <img src="3-7800146\74b49777-a6c1-4ccd-8539-a3d7bb36a27c.jpg" /> on <img src="3-7800146\b4362b12-e758-438b-ba6a-306f1c4b3723.jpg" /> numbers by taking the sequence<img src="3-7800146\4a5708ae-1f89-4c15-b8df-613b565421b5.jpg" />; since <img src="3-7800146\cd7076de-06df-4d43-914b-559473032024.jpg" /> is odd, we select 4 cycles<img src="3-7800146\0b4a3ee3-73df-468f-b66e-89212b93801d.jpg" />, <img src="3-7800146\45e8bf06-8da6-43af-821e-087d19c91854.jpg" />, <img src="3-7800146\6dc5a81a-98cf-49ff-8a90-424b7ee557ee.jpg" />, <img src="3-7800146\b96a87a4-8c7e-4aef-9185-8616d431f08a.jpg" />of lengths 2 and one cycle <img src="3-7800146\6617359a-5b50-4e0d-b365-ded64d1b4f7a.jpg" /> of length 1, and then based on the selected cycles construct the self-inverting permutation<img src="3-7800146\0b92838c-5c84-4b3b-90b2-2ee74953b18c.jpg" />.</p><p>Example SiP-to-W: Let <img src="3-7800146\0e37e0f4-08dc-4252-8773-7d6eb484c0a7.jpg" /> be the given self-inverting permutation produced by our method. The cycle representation of <img src="3-7800146\5a1c08ac-cb8d-4ba6-a8e1-bfbad5f92b8f.jpg" /> is the following: (1,5), (2.6), (3,9), (4,8), (7); from the cycles we construct the permutation<img src="3-7800146\ce36e2ec-eafb-4bad-9c6d-89533916abfb.jpg" />; then, we compute the first increasing subsequence <img src="3-7800146\4390a3bf-f91a-436f-92ca-79d546a7672b.jpg" /> and the first decreasing subsequence<img src="3-7800146\00c6b844-c63c-4e9b-bf44-3c472addb6d4.jpg" />; we then construct the binary sequence <img src="3-7800146\1889d02e-bec6-4997-8cce-de2e06bd818c.jpg" /> of length 9; we flip the elements of <img src="3-7800146\7c2351f8-e324-49f7-951b-00633707bc4c.jpg" /> and construct the sequence<img src="3-7800146\a9bb5112-a890-4781-9bd8-ebb35136ae17.jpg" />; the binary number 1100 is the integer<img src="3-7800146\ddb13658-53c0-4e34-860b-c0c757af9961.jpg" />.</p></sec><sec id="s2_3"><title>2.3. 2D Representations</title><p>We first define the two-dimensional representation (2D representation) of a permutation <img src="3-7800146\02c4744a-138f-49ce-891e-5b31ceb51c9d.jpg" /> over the set<img src="3-7800146\89852382-cfd6-47d1-bdf7-6ae8876c09ad.jpg" />, and then its 2DM representation which is more suitable for efficient use in our codec system.</p><p>In the 2D representation, the elements of the permutation <img src="3-7800146\a26cef36-6f74-4fa5-aff7-90e95df73777.jpg" /> are mapped in specific cells of an <img src="3-7800146\08bac147-4d30-42a7-a5ea-8447002df0b2.jpg" /> matrix <img src="3-7800146\d21a6b06-0505-48b1-acb6-63f94912bf8e.jpg" /> as follows:</p><p><img src="3-7800146\12a27c38-2e66-4e85-91c3-a080cf8614ce.jpg" /></p><p>or, equivalently, the cell at row <img src="3-7800146\cc6bc96c-bf0a-45c6-bbc1-0d5597f34e3c.jpg" /> and column <img src="3-7800146\34ac1b59-e467-46d9-ac02-c147169b5cff.jpg" /> is labeled by the number<img src="3-7800146\300627ec-5bf4-4a66-9f4b-70eb30e3e5dc.jpg" />, for each<img src="3-7800146\46f427c3-c068-4475-8165-c0df7f946b64.jpg" />.</p><p><xref ref-type="fig" rid="fig1">Figure 1</xref>(a) shows the 2D representation of the selfinverting permutation<img src="3-7800146\c34cd962-032b-4299-a8b9-3b111a3cee87.jpg" />.</p><p>Note that, there is one label in each row and in each column, so each cell in the matrix <img src="3-7800146\fc0a2336-7ff7-402e-b66b-2c05e75b5fbd.jpg" /> corresponds to a unique pair of labels; see, [<xref ref-type="bibr" rid="scirp.30057-ref10">10</xref>] for a long bibliography on permutation representations and also in [<xref ref-type="bibr" rid="scirp.30057-ref13">13</xref>] for a DAG representation.</p><p>Based on the previously defined 2D representation of a permutation<img src="3-7800146\b0e73668-6466-43a0-819b-a9bf72ec019c.jpg" />, we next propose a two-dimensional marked representation (2DM representation) of <img src="3-7800146\d6931283-b07a-4a29-8eab-f62863bc4787.jpg" /> which is an efficient tool for watermarking images.</p><p>In our 2DM representation, a permutation <img src="3-7800146\83cebc64-6783-400b-8a7c-1b1c1a452913.jpg" /> over the set N<sub>n</sub> is represented by an <img src="3-7800146\e0ddac9d-da30-4ce2-8798-3b3338a58db4.jpg" /> matrix <img src="3-7800146\52c16c0e-e1bc-480f-8ba5-b3c6530d65f1.jpg" /> as follows:</p><p>• the cell at row <img src="3-7800146\5f4ceb64-593c-4d5f-a780-fce86d518200.jpg" /> and column <img src="3-7800146\1b7abf1a-c864-4e4c-8fe4-5890baeb4740.jpg" /> is marked by a specific symbol, for each<img src="3-7800146\8314c101-f91c-4cf7-9806-c3613c3209c6.jpg" />;</p><p>• in our implementation, the used symbol is the asterisk, i.e., the character “<sup>*</sup>”.</p><p><xref ref-type="fig" rid="fig1">Figure 1</xref>(b) shows the 2DM representation of the permutation<img src="3-7800146\4a4bd39f-9e7b-44f4-831c-a03530e6361e.jpg" />. It is easy to see that, since the 2DM representation of <img src="3-7800146\bcc1903c-5171-4cef-8d49-e9423ff408fc.jpg" /> is constructed from the corresponding 2D representation, there is also one symbol in each row and in each column of the matrix<img src="3-7800146\0233e0d9-1c9f-41ee-b382-b051cf2e9411.jpg" />.</p><p>We next present an algorithm which extracts the permutation <img src="3-7800146\7301fe89-39a4-4042-9004-14b69a10179b.jpg" /> from its 2DM representation matrix. More precisely, let <img src="3-7800146\5a8d5567-8d6c-4c26-afb0-a1504f1bc9ff.jpg" /> be a permutation over <img src="3-7800146\ee1d70fd-f3a9-480a-87d4-fd579e7dff67.jpg" /> and let <img src="3-7800146\8db858ee-7b5c-45bb-bb32-4b813be2ba7b.jpg" /> be the 2DM representation matrix of <img src="3-7800146\454369fa-ec8c-4683-9aa8-e58d3de74861.jpg" /> (see, <xref ref-type="fig" rid="fig1">Figure 1</xref>(b)); given the matrix<img src="3-7800146\0dbff5e8-8c41-480d-bf71-9a5d718b4614.jpg" />, we can easily extract <img src="3-7800146\bcfe7174-dcf6-4ece-b060-e57152ed3888.jpg" /> from <img src="3-7800146\0cb91909-1e54-499b-9bf8-e63f29fbb320.jpg" /> in linear time (i.e., linear in the size of matrix<img src="3-7800146\0b3195c7-6b19-4518-b0c1-bf7b081dc465.jpg" />) by the following algorithm:</p><p>Algorithm Extract_<img src="3-7800146\68e4c042-2c68-4a32-bd37-6e2a72488570.jpg" />_from_2DM Input: the 2DM representation matrix <img src="3-7800146\a95044ed-bc72-4ae1-ae04-c0829620035c.jpg" /> of<img src="3-7800146\258b3a55-00a7-41ad-8e2a-e5f08957361f.jpg" />;</p><p>Output: the permutation<img src="3-7800146\778528b6-4583-488c-a90f-e9878441cd2f.jpg" />;</p><p>Step 1: For each row <img src="3-7800146\e9358dec-c5a7-420d-87cf-e97eaf232cb1.jpg" /> of matrix<img src="3-7800146\4e7cd624-99f6-49a7-ae9e-4b4057c07676.jpg" />, <img src="3-7800146\cb4f127a-f4c0-4a82-a849-1fe4c4eb21ee.jpg" />, and for each column <img src="3-7800146\986e585d-347a-4ab6-8856-d499a0b03fd5.jpg" /> of matrix<img src="3-7800146\bab02e8d-c34b-4e57-8fde-4ff851cd9805.jpg" />, <img src="3-7800146\ac727196-eafa-4d15-87b7-3a2e537cc4d6.jpg" />, if the cell <img src="3-7800146\7d530478-af6b-4681-bfee-25a9603b1317.jpg" /> is marked then<img src="3-7800146\9ec08c2a-3b31-4d4e-9a25-e3facf475307.jpg" />;</p><p>Step 2: Return the permutation<img src="3-7800146\c342ce05-68d6-49d7-a8ea-d4af048339d5.jpg" />;</p><p>Remark 1. It is easy to see that the resulting permutation<img src="3-7800146\38f5715a-0d4f-42ca-ab45-57de7b58aed1.jpg" />, after the execution of Step 1, can be taken by reading the matrix <img src="3-7800146\f8c47521-58e6-415f-adf3-62a85d16e03e.jpg" /> from top row to bottom row and write down the positions of its marked cells. Since the permutation <img src="3-7800146\9ecbcf94-f042-4b43-b3da-fd31d68a59c2.jpg" /> is a self-inverting permutation, its 2D matrix <img src="3-7800146\513ca08f-9f0c-4f3a-b110-7df36a98a738.jpg" /> has the following property:</p><p>• <img src="3-7800146\17b5b8bc-430a-4349-a0a1-d14aedf7a629.jpg" />if<img src="3-7800146\44eabd40-0f7f-4ac1-800f-0df06e8739f9.jpg" />, and</p><p>• <img src="3-7800146\704282b6-d1fa-45b5-9687-ef95dc02746f.jpg" />otherwise,<img src="3-7800146\d2f29699-ed3c-496e-b708-35bd9e505287.jpg" />.</p><p>Thus, the corresponding matrix <img src="3-7800146\e43f1ac1-be79-47f2-ba44-9f5b60659d35.jpg" /> is symmetric:</p><p>• <img src="3-7800146\c72ef42c-4129-492c-9a06-acdf7fc59935.jpg" />if<img src="3-7800146\5414bdda-65ad-4d66-9a98-325abd638d7a.jpg" />, and</p><p>• <img src="3-7800146\11fdfd84-1fd8-48a8-9f85-53f76ed9b3da.jpg" />otherwise,<img src="3-7800146\643c6ba3-739d-4fd8-9459-1f4a5b518cf3.jpg" />.</p><p>Based on this property, it is also easy to see that the resulting permutation <img src="3-7800146\7f795d47-1b8f-4f37-87bd-6bb1d206bed8.jpg" /> can be also taken by reading the matrix <img src="3-7800146\3179c4ee-bbac-4ee6-aa53-d31f7d5b296b.jpg" /> from left column to right column and write down the positions of its marked cells.</p><p>Hereafter, we shall denote by <img src="3-7800146\7a0c20a0-69bc-4634-b92a-8d024e94291e.jpg" /> a SiP and by <img src="3-7800146\23ca5c3f-a27c-4f7b-ae17-aad30e542401.jpg" /> the number of elements of<img src="3-7800146\655714a8-0133-4666-96a2-6b33e7866268.jpg" />.</p></sec><sec id="s2_4"><title>2.4. The Discrete Fourier Transform</title><p>The Discrete Fourier Transform (DFT) is used to decompose an image into its sine and cosine components. The output of the transformation represents the image in the frequency domain, while the input image is the spatial domain equivalent. In the image’s fourier representation, each point represents a particular frequency contained in the image’s spatial domain.</p><p>If <img src="3-7800146\661205ea-8339-4fcb-8b40-83f69bc94b5b.jpg" /> is an image of size <img src="3-7800146\9940c2ef-01be-42de-bde0-4f292188accd.jpg" /> we use the following formula for the Discrete Fourier Transform:</p><disp-formula id="scirp.30057-formula86195"><label>(1)</label><graphic position="anchor" xlink:href="3-7800146\cc4ad9c6-bb2e-4f0e-9e10-2ea38e1d8606.jpg"  xlink:type="simple"/></disp-formula><p>for values of the discrete variables <img src="3-7800146\5031353d-dafe-4699-86eb-23cd51ef4060.jpg" /> and <img src="3-7800146\d06d4e96-cfc5-498a-b467-7936ccaba69d.jpg" /> in the ranges <img src="3-7800146\cea0fbd0-db76-43b7-9036-44bb5cd148e6.jpg" /> and<img src="3-7800146\292e0743-70dd-43c0-b02b-89717005ee46.jpg" />.</p><p>In a similar manner, if we have the transform <img src="3-7800146\86ee18fe-490e-44db-90c4-cc7b710dcfdc.jpg" /> i.e the image’s fourier representation we can use the Inverse Fourier Transform to get back the image <img src="3-7800146\50d67c50-6e5f-4860-8832-ec5ac240b8da.jpg" /> using the following formula:</p><disp-formula id="scirp.30057-formula86196"><label>(2)</label><graphic position="anchor" xlink:href="3-7800146\75438c7f-c5a7-44f1-8331-890c5e0b5536.jpg"  xlink:type="simple"/></disp-formula><p>for <img src="3-7800146\cb7b0aec-e220-4f43-b859-79285612b79f.jpg" /> and<img src="3-7800146\963c119e-9eba-48f7-b232-ad47f9ef588e.jpg" />.</p><p>Typically, in our method, we are interested in the magnitudes of DFT coefficients. The magnitude <img src="3-7800146\c5f79108-5d10-4238-873d-7c3fc887f5e7.jpg" /> of the Fourier transform at a point is how much frequency content there is and is calculated by Equation (1) [<xref ref-type="bibr" rid="scirp.30057-ref14">14</xref>].</p></sec></sec><sec id="s3"><title>3. Previous Results</title><p>Recently, we proposed a watermarking technique based on the idea of interfering with the image’s pixel values in the spatial domain. In this section, we briefly describe the main idea of the proposed technique and state main points regarding some of its advantages and disadvantages. Recall that, in the current work we suggest an expansion to this idea by moving from the spatial domain to the image’s frequency domain.</p><sec id="s3_1"><title>3.1. Method Description</title><p>The algorithms behind the previously proposed technique were briefly based on the following idea.</p><p>The embedding algorithm first computes the 2DM representation of the permutation<img src="3-7800146\39d41dd4-af0a-4d7f-8d69-67f2619c0af7.jpg" />, that is, the <img src="3-7800146\3f897ef9-34d8-401a-94bf-363e347b8169.jpg" /> array <img src="3-7800146\746da882-bdc6-49d7-86df-2468feba3e96.jpg" /> (see, Subsection 2.3); the entry <img src="3-7800146\64b45d99-569f-4758-be9c-7304cbcc8d51.jpg" /> of the array <img src="3-7800146\dba63a62-6881-48d9-ae45-54dd542452d1.jpg" /> contains the symbol “<sup>*</sup>”,<img src="3-7800146\9c2f1de2-6a87-4910-b77c-08404c024c27.jpg" />.</p><p>Next, the algorithm computes the size <img src="3-7800146\494817f0-df91-445a-b759-ceb8e01be427.jpg" /> of the input image <img src="3-7800146\5815f335-12ac-400e-aa42-32b3ed7900f6.jpg" /> and according to its size, covers it with an <img src="3-7800146\5b3d21ee-eaf6-46b2-941d-e93d98582419.jpg" /> imaginary grid<img src="3-7800146\f949487d-a25a-4700-a1e6-29064f469791.jpg" />, which divides the image into</p><p><img src="3-7800146\6a666db1-9ab7-46a5-af5e-68a89f95f818.jpg" />grid-cells <img src="3-7800146\cc690a6b-31e1-46c9-be84-f1d181908b1a.jpg" /> of size<img src="3-7800146\742b97d8-96c5-4f10-a613-bcd5b5fe4200.jpg" />,<img src="3-7800146\59807c3b-a9e6-4476-8045-902843cc090b.jpg" />.</p><p>Then the algorithm goes first to each grid-cell<img src="3-7800146\8c4a1d21-0fac-4ea3-af65-52df390c2470.jpg" />, locates its central pixel <img src="3-7800146\132c0484-3e75-43ce-b9d6-27d5da230521.jpg" /> and also the four pixels<img src="3-7800146\5889a126-1aae-4645-9235-0841cbfd3d2e.jpg" />, <img src="3-7800146\0fa5b7dc-b362-408d-b230-8b636b12f128.jpg" />, <img src="3-7800146\29070e82-36b0-454a-9e55-802d2e1dcf73.jpg" />, <img src="3-7800146\6abd9e82-4d14-49fe-8de7-c2760ed5e2ed.jpg" />around it, <img src="3-7800146\994d9c7c-129c-41cc-92da-48b8e53fbb93.jpg" />(these five pixels are called &#160;cross pixels), and then computes the difference between the brightness of the central pixel <img src="3-7800146\3035267e-d4fe-45c5-98e1-043b4c23270d.jpg" /> and the average brightness of twelve neighboring pixels around the cross pixels, and stores the resulting value in the variable dif<img src="3-7800146\13fbefbf-9ee9-498b-8742-c6eddb2c0862.jpg" />. Finally, it computes the maximum absolute value of all <img src="3-7800146\1e1a68cc-d58d-4652-8fb9-7e4c033b8df5.jpg" /> differences dif<img src="3-7800146\05c20bf6-de34-439e-997f-f9a811223ac6.jpg" />, <img src="3-7800146\4f00cc6b-201e-4f7c-a775-1717e227750c.jpg" />, and stores it in the variable Maxdif<img src="3-7800146\5c94b70e-3575-4e18-b271-dc9484c86f45.jpg" />.</p><p>The embedding algorithm goes again to each central pixel <img src="3-7800146\d7956b5b-03be-41be-84f7-011b86b81bda.jpg" /> of each grid-cell<img src="3-7800146\9d4aeda2-6552-4ed3-8845-97f2d38e7c13.jpg" />, <img src="3-7800146\b2781603-eab7-44e3-9489-acd7208054d4.jpg" />, and if the corresponding entry <img src="3-7800146\e6161e92-997a-4f92-87e3-e27fd2e72604.jpg" /> contains the symbol “<sup>*</sup>”, then it increases the value of each one of the five cross pixels by Maxdif<img src="3-7800146\1cc1b58d-650b-403b-81e9-36a3449e552f.jpg" /> – dif <img src="3-7800146\27ee92ae-627f-461d-aec8-f8104df86298.jpg" /> +<img src="3-7800146\91552398-2382-4f87-9305-e19970192a65.jpg" />, where <img src="3-7800146\29b5675e-e6ff-42ad-a662-5bfa314c94b1.jpg" /> is a positive number used to make marks robust to transformations.</p><p>In a similar manner, the extracting algorithm is searching each line <img src="3-7800146\4bfab59f-422d-4b0f-95d4-10f64a1ed3e5.jpg" /> of the imaginary grid <img src="3-7800146\2cf8da97-9ea7-4ab9-9c4b-40ae8c06f225.jpg" /> to find among the <img src="3-7800146\df4d5483-abc2-4580-b3b4-0e21cf39fa66.jpg" /> grid-cells <img src="3-7800146\6de55fdf-f7c8-4ffc-bcf3-00a5f9af8bbb.jpg" /> the column <img src="3-7800146\a49b8b9a-c57a-47f2-8c44-7ff37c3ab2c7.jpg" /> of the one that has the greatest difference between the twelve neighboring and the five cross pixels,<img src="3-7800146\e12371c7-76d5-466a-b7ad-7d2173873650.jpg" />; then, the element <img src="3-7800146\01aff3d1-1f58-402b-be71-e5567bec6b21.jpg" /> is set equal to<img src="3-7800146\8f25f8ea-8f00-439c-9a01-db5b13b84832.jpg" />.</p></sec><sec id="s3_2"><title>3.2. Main Points</title><p>First we should mention that for images with general characteristics and relatively large size this method delivers optically good results. By saying “good results” we mean that the modifications made are quite invisible. Also the method’s algorithms run really fast as they simply access a finite number of pixels. Furthermore, both the embedding and extracting algorithms are easy to modify and adjust for various scenarios.</p><p>On the other hand, the method fails to deliver good results either for relatively small images or for images that depict something smooth which allows the eye to distinct the modifications on the image. Also we decided to move to a new method as there were also problems due to the fact that the positions of the crosses are centered at strictly specific positions causing difficulties in the extracting algorithm even for the smallest geometric changes such as scaling or cropping where we may lose the marked positions.</p></sec></sec><sec id="s4"><title>4. The Frequency Domain Approach</title><p>Having described an efficient method for encoding integers as self-inverting permutations using the 2DM representation of self-inverting permutations, we next describe codec algorithms that efficiently encode and decode a watermark into the image’s frequency domain [14-17].</p><sec id="s4_1"><title>4.1. Embed Watermark into Image</title><p>We next describe the embedding algorithm of our proposed technique which encodes a self-inverting permutation (SiP) <img src="3-7800146\3a267eba-2e93-4881-88c8-ecd0941a4aab.jpg" />into a digital image<img src="3-7800146\6f55d3ef-5479-4951-b848-e7e6dd334549.jpg" />. Recall that, the permutation <img src="3-7800146\758cdc1e-3972-4633-9b27-5941d6bdfeb7.jpg" /> is obtained over the set<img src="3-7800146\f1d02b82-1d32-4a08-ba0f-a612d774df5b.jpg" />, where <img src="3-7800146\9ed76bae-7875-49ee-89cc-d1c200e1fe37.jpg" /> and <img src="3-7800146\589a272a-fb1a-45f8-b301-90464be23cc1.jpg" /> is the length of the binary representation of an integer <img src="3-7800146\cd84b8f4-9bed-42fa-a530-23d18f872c38.jpg" /> which actually is the image’s watermark [<xref ref-type="bibr" rid="scirp.30057-ref12">12</xref>]; see, Subsection 2.2.</p><p>The watermark<img src="3-7800146\d20f58ea-0e22-43fa-9912-7f687b963f8c.jpg" />, or equivalently the self-inverting permutation<img src="3-7800146\4ec4e1b3-2902-4dcd-8ed7-d0c30f733e66.jpg" />, is invisible and it is inserted in the frequency domain of specific areas of the image<img src="3-7800146\e74f8482-b4be-492e-80c9-2096d8de0845.jpg" />. More precisely, we mark the DFT’s magnitude of an image’s area using two ellipsoidal annuli, denoted hereafter as “Red” and “Blue” (see, <xref ref-type="fig" rid="fig2">Figure 2</xref>). The ellipsoidal annuli are specified by the following parameters:</p><p>• <img src="3-7800146\7fdf944c-1df5-4199-8e86-91d3a9a8cf02.jpg" />, the width of the “Red” ellipsoidal annulus• <img src="3-7800146\7a9eb951-f0ff-47e7-b2b2-72384c3bca2d.jpg" />, the width of the “Blue” ellipsoidal annulus• <img src="3-7800146\3c6a63fa-5788-4025-8e22-a5774a07db60.jpg" />and<img src="3-7800146\428d755f-86a3-42cd-9607-0236fdc2554e.jpg" />, the radiuses of the “Red” ellipsoidal annulus on y-axis and x-axis, respectively.</p><p>The algorithm takes as input a SiP <img src="3-7800146\234492ad-9a37-4a66-97a6-301a6f6f153d.jpg" /> and a digital image<img src="3-7800146\16bd3f10-c3c9-4432-b1ec-e96621fd9939.jpg" />, in which the user embeds the watermark, and returns the watermarked image<img src="3-7800146\0468a532-33f5-436e-aec6-3b2965a5f515.jpg" />; it consists of the following steps.</p><p>Algorithm Embed_SiP-to-Image Input: the watermark <img src="3-7800146\8894f28a-351f-41fd-a9cc-146a8aadc4b1.jpg" /> and the host image<img src="3-7800146\0881079a-7a56-470b-ac57-b9aecc3ffd6e.jpg" />;</p><p>Output: the watermarked image<img src="3-7800146\da090054-f0c3-4d21-8278-434b804dcb3d.jpg" />;</p><p>Step 1: Compute first the 2DM representation of the permutation<img src="3-7800146\8975fde3-393b-42b2-bc70-039672357564.jpg" />, i.e., construct an array <img src="3-7800146\fa72a9d8-895f-4965-8805-98c309f8cebd.jpg" /> of size <img src="3-7800146\195f6357-d406-4532-bd1b-9d94f6b4cf49.jpg" /> such that the entry <img src="3-7800146\336cf929-9b6f-4b5c-b4d4-3de28cc4bb63.jpg" /> contains the symbol “<sup>*</sup>”,<img src="3-7800146\dc80080c-09c1-4441-9480-8cb5eba67557.jpg" />.</p><p>Step 2: Next, calculate the size <img src="3-7800146\758544dc-d773-499c-909f-593c1c2462e7.jpg" /> of the input image <img src="3-7800146\1019ec93-e56a-4542-9603-2bf9266ebcb1.jpg" /> and cover it with an imaginary grid <img src="3-7800146\a93e73b6-4f0a-4677-9d6e-ae44e2df30ce.jpg" /> with</p><p><img src="3-7800146\cac6be7a-6156-42f1-b937-0b2dbe0a9305.jpg" />grid-cells <img src="3-7800146\30502acf-e559-4724-ba2a-4f93c4335a9b.jpg" /> of size<img src="3-7800146\7243c1ec-dd42-43e1-99af-596224ec6df0.jpg" />,<img src="3-7800146\5907fff9-f9e4-40a9-a6fb-2f414f968561.jpg" />.</p><p>Step 3: For each grid-cell<img src="3-7800146\7c0257a9-75b2-460d-a330-e99bad39454f.jpg" />, compute the Discrete Fourier Transform (DFT) using the Fast Fourier Transform (FFT) algorithm, resulting in a <img src="3-7800146\bb3b9318-a7d4-49e2-b492-8e3a0622f200.jpg" /> grid of DFT cells<img src="3-7800146\7abbbddd-2cbf-490e-a83f-6ebc85944835.jpg" />,<img src="3-7800146\7889f14e-b2e5-4fcc-b6a1-73a70f552367.jpg" />.</p><p>Step 4: For each DFT cell<img src="3-7800146\1914e46d-1385-4620-8a0f-be0e3f8291f0.jpg" />, compute its magnitude <img src="3-7800146\114af97c-7a43-453f-9b1c-e924b9ad788a.jpg" /> and phase <img src="3-7800146\783f4f67-3127-4830-a376-89694c2d819d.jpg" /> matrices which are both of size</p><p><img src="3-7800146\b7d62624-f651-4f22-b783-8e9b50ec79fe.jpg" />,<img src="3-7800146\8296bdf9-c927-46f0-b210-efdf25efe851.jpg" />.</p><p>Step 5: Then, the algorithm takes each of the <img src="3-7800146\abfd5e3b-ca7e-4e0d-a958-3704a80fc458.jpg" /> magnitude matrices<img src="3-7800146\09167d05-870b-4fff-abe4-db50edf3abca.jpg" />, <img src="3-7800146\79dced1e-c134-4128-8e4d-4d9b13e50eb5.jpg" />, and places two imaginary ellipsoidal annuli, denoted as “Red” and “Blue”, in the matrix <img src="3-7800146\ac36651f-2447-4e9f-a431-3f52d22234fe.jpg" /> (see, <xref ref-type="fig" rid="fig2">Figure 2</xref>). In our implementation• the “Red” is the outer ellipsoidal annulus while the “Blue” is the inner one. Both are concentric at the center of the <img src="3-7800146\00470f80-708c-4e9d-9b13-75f04f7cd98b.jpg" /> magnitude matrix and have widths <img src="3-7800146\9c060b7e-9864-4874-814d-1204e13446b0.jpg" /> and<img src="3-7800146\1e8c39cc-ef51-46f9-9512-2249a8454968.jpg" />, respectively;</p><p>• the radiuses of the “Red” ellipsoidal annulus are <img src="3-7800146\702693bf-09df-477a-841d-2e62ba5babf7.jpg" /> (on the y-axis) and <img src="3-7800146\00bd71e1-ca73-4186-a99f-e49698240cf0.jpg" /> (on the <img src="3-7800146\06872cbe-d961-439b-9b8a-bb1637d437b2.jpg" />-axis), while the “Blue” ellipsoidal annulus radiuses are computed in accordance to the “Red” ellipsoidal annulus and have values <img src="3-7800146\725e29bd-2f54-4bd6-9ea2-7952396b457c.jpg" /> and<img src="3-7800146\1b809723-940f-43c8-a011-fbfcc427e993.jpg" />, respectively;</p><p>• the inner perimeter of the “Red” ellipsoidal annulus coincides to the outer perimeter of the “Blue” ellipsoidal annulus;</p><p>• the values of the widths of the two ellipsoidal annuli are <img src="3-7800146\34ef116f-df37-4d12-9fde-68f193f39e5a.jpg" /> and<img src="3-7800146\6bd6a21b-782a-4ab4-8731-ecb5594fce59.jpg" />, while the values of their radiuses are <img src="3-7800146\f85bf6c9-923d-445c-a4c0-1de7f3ca6f26.jpg" /> and<img src="3-7800146\06baaf13-e807-4050-a46d-db0a2bfe1b35.jpg" />.</p><p>The areas covered by the “Red” and the “Blue” ellipsoidal annuli determine two groups of magnitude values on <img src="3-7800146\d8265657-8b54-451b-a6be-c13971d8fcd3.jpg" /> (see, <xref ref-type="fig" rid="fig2">Figure 2</xref>).</p><p>Step 6: For each magnitude matrix<img src="3-7800146\6951fa88-cb9e-49d6-bef9-bd02cf10060e.jpg" />, <img src="3-7800146\e65a7b7d-8f09-4181-97c1-04476d095426.jpg" />, compute the average of the values that are in the areas covered by the “Red” and the “Blue” ellipsoidal annuli; let <img src="3-7800146\8e65c687-b9ff-44be-b41b-5eb42d47492e.jpg" /> be the average of the magnitude values belonging to the “Red” ellipsoidal annulus and <img src="3-7800146\5bfceae6-b49b-44f5-86d0-c6043c680005.jpg" /> be the one of the “Blue” ellipsoidal annulus.</p><p>Step 7: For each magnitude matrix<img src="3-7800146\6920c864-c50d-43f5-855a-995080e405c6.jpg" />, <img src="3-7800146\a13d64a7-4599-4973-9a65-34b5a8595a99.jpg" />, compute first the variable <img src="3-7800146\a499c747-def0-4b88-b45d-83076c0bf926.jpg" /> as follows:</p><p><img src="3-7800146\0412936f-0620-4119-b22a-63e8e359a107.jpg" />.</p><p>Then, for each row <img src="3-7800146\b4beaac0-9495-4aff-a1aa-909ee07660e5.jpg" /> of the magnitude matrix<img src="3-7800146\ad73d456-b9af-4c68-af1a-b7024f22aea1.jpg" />, <img src="3-7800146\1f09f498-8904-4839-a016-9e14c5a6a429.jpg" />, compute the maximum value of the variables <img src="3-7800146\358f7080-6a94-4658-a275-a3e1c70b68ec.jpg" /> in row<img src="3-7800146\0362201c-3ac6-4bc3-ae3b-b2effbef2a9e.jpg" />; let <img src="3-7800146\c94c922a-d73c-4168-b11c-9ea57b55a4a9.jpg" /> be the max value.</p><p>Step 8: For each cell <img src="3-7800146\80c12097-80d4-4ec7-a4b9-906d6a755699.jpg" /> of the 2DM representation matrix <img src="3-7800146\226fa148-d449-4820-87be-d400c4c3ed2e.jpg" /> of the permutation <img src="3-7800146\9e81f7dc-e295-41e0-b526-8c70e172d59c.jpg" /> such that <img src="3-7800146\e305e305-c0ea-4206-adbc-7ad5a84b00ab.jpg" /> “<sup>*</sup>” (i.e., marked cell), mark the corresponding grid-cell<img src="3-7800146\2f3cbb0a-28f2-49f5-9fe3-f69d344f7cad.jpg" />,<img src="3-7800146\83f3dcdb-d5ce-4c5a-84c1-f28e5e7036b4.jpg" />; the marking is performed by increasing all the values in magnitude matrix <img src="3-7800146\4c436b9d-672d-4e30-8b19-54af5c599f9e.jpg" /> covered by the “Red” ellipsoidal annulus by the value</p><disp-formula id="scirp.30057-formula86197"><label>(3)</label><graphic position="anchor" xlink:href="3-7800146\d983ed5a-e937-4b18-bcae-582d346f1191.jpg"  xlink:type="simple"/></disp-formula><p>where<img src="3-7800146\8ea1ee7c-b8bd-4442-983a-6205ad5032d4.jpg" />. The additive value of <img src="3-7800146\dcb13a85-f8a1-4543-aee7-7ec8fc6e5c11.jpg" /> is calculated by the function <img src="3-7800146\638451c7-c6bf-41c7-b115-d070e976c8f3.jpg" /> (see, Subsection 4.3) which returns the minimum possible value of <img src="3-7800146\d05fc4c4-38a8-4a40-9557-f1ace4d445dc.jpg" /> that enables successful extracting.</p><p>Step 9: Reconstruct the DFT of the corresponding modified magnitude matrices<img src="3-7800146\61755ced-539b-4f8e-8fa9-a17f2c7160d7.jpg" />, using the trigonometric form formula [<xref ref-type="bibr" rid="scirp.30057-ref14">14</xref>], and then perform the Inverse Fast Fourier Transform (IFFT) for each marked cell<img src="3-7800146\d392cc90-988f-413c-813a-7dde6071740b.jpg" />, <img src="3-7800146\3075b55a-0117-4a50-8148-759554ff04c4.jpg" />, in order to obtain the image<img src="3-7800146\d534b777-32d7-4ad5-84cf-3fa891b3091f.jpg" />.</p><p>Step 10: Return the watermarked image<img src="3-7800146\0bb39927-c8f0-4e0f-ab3b-94d39b900fba.jpg" />.</p><p>In <xref ref-type="fig" rid="fig3">Figure 3</xref>, we demonstrate the main operations performed by our embedding algorithm. In particular, we show the marking process of the grid-cell <img src="3-7800146\a994ee79-c36d-4d9b-8518-df6f6bf835f0.jpg" /> of the&#160; Lena image; in this example, we embed in the&#160; Lena image the watermark number <img src="3-7800146\b4a3a6a3-83f5-47d2-9558-32607a761c6d.jpg" /> which corresponds to SiP<img src="3-7800146\39774363-110d-47d1-bcfa-597485b90f09.jpg" />.</p></sec><sec id="s4_2"><title>4.2. Extract Watermark from Image</title><p>In this section we describe the decoding algorithm of our proposed technique. The algorithm extracts a self-</p><p>inverting permutation (SiP) <img src="3-7800146\31bd1115-2f3b-4fb8-a67d-c5a0ffe8fd52.jpg" />from a watermarked digital image<img src="3-7800146\686245df-4c66-46cc-b30d-73e292efb420.jpg" />, which can be later represented as an integer<img src="3-7800146\7c072395-bb35-4102-8d0e-82132b70c1f5.jpg" />.</p><p>The self-inverting permutation <img src="3-7800146\eada2956-e6ba-45c1-bc06-f6eb0a4b3b10.jpg" /> is obtained from the frequency domain of specific areas of the watermarked image<img src="3-7800146\c7e1c328-ea2c-4c6b-9590-6630ede93a1c.jpg" />. More precisely, using the same two “Red” and “Blue” ellipsoidal annuli, we detect certain areas of the watermarked image <img src="3-7800146\30dd06ce-e24a-4f15-a40b-c0bdb64b4683.jpg" /> that are marked by our embedding algorithm and these marked areas enable us to obtain the 2D representation of the permutation<img src="3-7800146\293ec812-2cb5-4b26-a7e8-77f2e06b504f.jpg" />. The extracting algorithm works as follows:</p><p>Algorithm Extract_SiP-from-Image Input: the watermarked image <img src="3-7800146\7339786a-9c04-41c5-9d13-fa034a9d5111.jpg" /> marked with<img src="3-7800146\bd70409b-8968-4334-b736-8087be85a5c5.jpg" />;</p><p>Output: the watermark<img src="3-7800146\60cf5960-be74-492a-a09c-d21128b9df3f.jpg" />;</p><p>Step 1: Take the input watermarked image <img src="3-7800146\76d707f2-4e8d-445f-b3a4-28699c00a111.jpg" /> and calculate its <img src="3-7800146\baf32f9c-4a7d-4c54-886b-6665e75afdef.jpg" /> size. Then, cover it with the same imaginary grid<img src="3-7800146\1bbeb317-56b2-49df-854d-0d9b37653229.jpg" />, as described in the embedding methodhaving <img src="3-7800146\0e42726b-89fd-4246-94e0-3f2ed134134b.jpg" /> grid-cells <img src="3-7800146\6e4650d2-8748-444c-9f1b-7c59e1d517ec.jpg" /> of size<img src="3-7800146\c1ea7097-cf21-4f8b-bed9-83d03a0e2d68.jpg" />.</p><p>Step 2: Then, again for each grid-cell<img src="3-7800146\d451296a-cb59-4d4c-8f53-213cdd4a9999.jpg" />, <img src="3-7800146\6d6aed36-834f-4391-a9fe-530809c4826f.jpg" />, using the Fast Fourier Transform (FFT) get the Discrete Fourier Transform (DFT) resulting a <img src="3-7800146\37edbbb9-745b-44d9-b47b-29cad721e0d1.jpg" /> grid of DFT cells.</p><p>Step 3: For each DFT cell, compute its magnitude matrix <img src="3-7800146\a974e84d-5457-45ab-aea0-b95f9fa6dfe7.jpg" /> and phase matrix <img src="3-7800146\71e13a4d-da2a-4107-9d7b-eeb80545c19e.jpg" /> which are both of size<img src="3-7800146\6daf088c-ab12-4ac5-97b8-b1304be92876.jpg" />.</p><p>Step 4: For each magnitude matrix<img src="3-7800146\f9491c6c-e88f-466e-a0d4-0ee2168f604f.jpg" />, place the same imaginary “Red” and “Blue” ellipsoidal annuli, as described in the embedding method, and compute as before the average values that coincide in the area covered by the “Red” and the “Blue” ellipsoidal annuli; let <img src="3-7800146\1c8d651a-4a25-4fd8-a766-24b1e7a4377a.jpg" /> and <img src="3-7800146\dfb05a11-c471-417f-a09f-12569f89ccca.jpg" /> be these values.</p><p>Step 5: For each row <img src="3-7800146\48a3fb2b-b483-4cea-a68f-c6d1d9177e3b.jpg" /> of<img src="3-7800146\b493eb46-c8d6-4a84-aadb-6a3033591751.jpg" />, <img src="3-7800146\96db7786-5a43-4dac-b538-8dd450555c4f.jpg" />, search for the <img src="3-7800146\e354f8c5-71e5-4968-90cd-e8fd6ff6b291.jpg" /> column where <img src="3-7800146\3ee262eb-1d8e-466b-ba08-4b7228e1f6c3.jpg" /> is minimized and set<img src="3-7800146\949a6a4c-6a46-40b5-b578-900bed8cca49.jpg" />,<img src="3-7800146\35008b96-0322-4438-bc55-5096516c08ba.jpg" />.</p><p>Step 6: Return the self-inverting permutation<img src="3-7800146\8500d513-d6c2-47c0-ac30-2a3a81c0f7fb.jpg" />.</p><p>Having presented the embedding and extracting algorithms, let us next describe the function <img src="3-7800146\19257724-e192-421e-a923-d6860c9e20ca.jpg" /> which returns the additive value <img src="3-7800146\d166ca0c-97bc-4f18-80f1-77dd7a617a6a.jpg" /> (see, Step 8 of the embedding algorithm Embed_SiP-to-Image).</p></sec><sec id="s4_3"><title>4.3. Function f</title><p>Based on our marking model, the embedding algorithm amplifies the marks in the “Red” ellipsoidal annulus by adding the output of the function<img src="3-7800146\84c78b98-fa2e-4a35-97db-2e13b8fe0003.jpg" />. What exactly <img src="3-7800146\776ee435-fe62-403b-aa87-49064d7ebe0f.jpg" /> does is returning the optimal value that allows the extracting algorithm under the current requirements, such as JPEG compression, to still be able to extract the watermark from the image.</p><p>The function <img src="3-7800146\e5e84b10-12bb-4a26-962f-ccf00ac17eff.jpg" /> takes as an input the characteristics of the image and the parameters<img src="3-7800146\f3fc90ca-dd37-49d3-a14c-2d89836e7596.jpg" />, <img src="3-7800146\a80719ee-8ada-4eb4-b7c0-54a32d9a47e8.jpg" />, <img src="3-7800146\9bb70114-efd5-4e57-a769-5b1dc55f2936.jpg" />, and <img src="3-7800146\2c795d82-3c65-401b-b1de-21c8dc9edfd8.jpg" /> of our proposed marking model (see, Step 5 of embedding algorithm and <xref ref-type="fig" rid="fig2">Figure 2</xref>), and returns the minimum possible value <img src="3-7800146\39008f7f-a4a7-4a41-8e68-f3d8be90e256.jpg" /> that added as <img src="3-7800146\0e775b3d-64d8-4add-a077-08971f34bfb5.jpg" /> to the values of the “Red” ellipsoidal annulus enables extracting (see, Step 8 of the embedding algorithm). More precisely, the function <img src="3-7800146\3aca3722-6029-4299-a352-f9b76f9a4974.jpg" /> initially takes the interval<img src="3-7800146\16a5bb28-b500-48a0-a517-c2df03979cde.jpg" />, where <img src="3-7800146\5fd96b27-e277-461d-ac35-0e16e6ff8e45.jpg" /> is a relatively great value such that if <img src="3-7800146\f606bf98-1d12-48b7-b72e-14ffff2eb8d7.jpg" /> is taken as <img src="3-7800146\b2ffd055-42ad-4bef-a719-c14f9fe5354d.jpg" /> for marking the “Red” ellipsoidal annulus it allows extracting, and computes the <img src="3-7800146\ef8b507b-20c1-4f57-a18b-71069f76223a.jpg" /> in<img src="3-7800146\d19c2deb-249b-49c5-9fa7-e010b0ed3c06.jpg" />.</p><p>Note that, <img src="3-7800146\9a6f5646-f59b-4c7e-8a1d-c3f8e84b77f1.jpg" />allows extracting but because of being great damages the quality of the image (see, <xref ref-type="fig" rid="fig4">Figure 4</xref>). We mentioned relatively great because it depends on the characteristics of each image. For a specific image it is useless to use a <img src="3-7800146\8fb9d516-2a61-4766-8e6b-fdec8932f0c0.jpg" /> greater than a specific value, we only need a value that definitely enables the extracting algorithm to successfully extract the watermark.</p><p>We next describe the computation of the value <img src="3-7800146\01df1429-c40d-40b9-8517-799eff1cdfed.jpg" /> returned by the function<img src="3-7800146\b4b73da1-c5d1-4205-8cbf-21b88925d380.jpg" />; note that, the parameters <img src="3-7800146\f65b60d0-3150-4481-9052-35fef458950b.jpg" /> and <img src="3-7800146\90752a15-ac6b-4275-9cf7-46436c9e59a7.jpg" /> of our implementation are fixed with the values 2 and 2, respectively. The main steps of this computation are the following:</p><p>(1) Check if the extracting algorithm for <img src="3-7800146\fffb7759-9593-49c1-a79a-bc58ea3f1568.jpg" /> validly obtains the watermark <img src="3-7800146\9d7a188c-3612-49b8-911d-65dadb016dae.jpg" /> from the image<img src="3-7800146\94291c83-26c8-4cd5-8c76-85408a25dd68.jpg" />; if yes, then the function <img src="3-7800146\d340a2d4-17a7-497f-b19d-f371e838d7ec.jpg" /> returns<img src="3-7800146\fb9f0c1e-382d-49a7-be9c-9e816990d13e.jpg" />;</p><p>(2) If not, that means, <img src="3-7800146\0a8e1ff4-d85c-4a12-a846-29f20af24bcd.jpg" />doesn’t allow extracting; then, the function <img src="3-7800146\aad7199e-a734-4d34-942d-04fb70cdf2a7.jpg" /> uses binary search on <img src="3-7800146\0b637ff6-4053-429e-b83c-f4aea0c48533.jpg" /> and computes the interval <img src="3-7800146\d6115556-e5e1-44e4-bd18-9765912da7c6.jpg" /> such that:</p><p>• <img src="3-7800146\87343ccb-8507-4280-b610-e846be7869dc.jpg" />doesn’t allow extracting• <img src="3-7800146\8ba67d46-1708-4e94-9903-f542e8b8a726.jpg" />does allow extracting, and</p><p>• <img src="3-7800146\41df5829-ea98-45a1-a14a-87eb86c1a48f.jpg" />;</p><p>(3) The function <img src="3-7800146\850c0c8e-9d4f-4f26-8613-94985ec4d87c.jpg" /> returns<img src="3-7800146\b4ebc5e6-320b-48da-bcd2-2081b9d94903.jpg" />;</p><p>As mentioned before, the function <img src="3-7800146\bf4ea4aa-991c-4268-9db0-c8ddb015fe30.jpg" /> returns the optimal value<img src="3-7800146\d1595264-571c-4f67-8355-ee250a53a3ea.jpg" />. Recall that, optimal means that it is the smallest possible value which enables extracting <img src="3-7800146\d2822746-3706-45d2-b922-6bc0c7693fc2.jpg" /></p><p>from the image<img src="3-7800146\c60feffe-d58e-496e-9874-e77ddf33194d.jpg" />. It is important to be the smallest one as that minimizes the additive information to the image and, thus, assures minimum drop to the image quality.</p></sec></sec><sec id="s5"><title>5. Experimental Evaluation</title><p>In this section we present the experimental results of the proposed watermarking method which we have implemented using the general-purpose mathematical software package Matlab (version 7.7.0) [<xref ref-type="bibr" rid="scirp.30057-ref9">9</xref>].</p><p>We experimentally evaluated our codec algorithms on digital color images of various sizes and quality characteristics. Many of the images in our image repository where taken from a web image gallery [<xref ref-type="bibr" rid="scirp.30057-ref18">18</xref>] and enriched by some other images different in sizes and characteristics. Our experimental evaluation is based on two objective image quality assessment metrics namely Peak Signal to Noise Ratio (PSNR) and Structural Similarity Index Metric (SSIM) [<xref ref-type="bibr" rid="scirp.30057-ref19">19</xref>].</p><p>There are three main requirements of digital watermarking: fidelity, robustness, and capacity [<xref ref-type="bibr" rid="scirp.30057-ref5">5</xref>]. Our watermarking method appears to have high fidelity and robustness against JPEG compression.</p><sec id="s5_1"><title>5.1. Design Issues</title><p>We tested our codec algorithms on various 24-bit digital color images of various sizes (from <img src="3-7800146\32bd01c9-b7d3-4976-831d-504fe107cfd4.jpg" /> up to<img src="3-7800146\6d0d8b20-8dff-4438-a528-9ea43a26ddc1.jpg" />) and various quality characteristics.</p><p>In our implementation we set both of the parameters <img src="3-7800146\f74e36ea-860d-4d10-83f8-7d145b31d147.jpg" /> and <img src="3-7800146\934de696-3b46-4ac4-b64e-bbe46742f6fc.jpg" /> equal to 2; see, Subsection 4.1. Recall that, the value 2 is a relatively small value which allows us to modify a satisfactory number of values in order to embed the watermark and successfully extract it without affecting images’ quality. There isn’t a distance between the two ellipsoidal annuli as that enables the algorithm to apply a small additive information to the values of the “Red” annulus. The two ellipsoidal annuli are inscribed to the rectangle magnitude matrix, as we want to mark images’ cells on the high frequency bands.</p><p>We mark the high frequencies by increasing their values using mainly the additive parameter <img src="3-7800146\1672015b-53b5-4538-b1b3-8e2c1f0ea342.jpg" /> because alterations in the high frequencies are less detectable by human eye [<xref ref-type="bibr" rid="scirp.30057-ref20">20</xref>]. Moreover, in high frequencies most images contain less information.</p><p>In this work we used JPEG images due to their great importance on the web. In addition, they are small in size, while storing full color information (24 bit/pixel), and can be easily and efficiently transmitted. Moreover, robustness to lossy compression is an important issue when dealing with image authentication. Notice that the design goal of lossy compression systems is opposed to that of watermark embedding systems. The Human Visual System model (HVS) of the compression system attempts to identify and discard perceptually insignificant information of the image, whereas the goal of the watermarking system is to embed the watermark information without altering the visual perception of the image [<xref ref-type="bibr" rid="scirp.30057-ref21">21</xref>].</p><p>The quality factor (or, for short, <img src="3-7800146\9ea47724-9654-49c2-a9da-775486a703aa.jpg" />factor) is a number that determines the degree of loss in the compression process when saving an image. In general, JPEG recommends a quality factor of 75 - 95 for visually indistinguishable quality loss, and a quality factor of 50 - 75 for merely acceptable quality. We compressed the images with Matlab JPEG compressor from&#160; imwrite with different quality factors; we present results for<img src="3-7800146\7e04f6a6-d56a-4398-a566-f3fb02b33496.jpg" />, <img src="3-7800146\ecf68867-8c3e-487e-950d-b02408922f60.jpg" />and<img src="3-7800146\013ea240-6fd1-4db7-ab09-1b2bf9e45f70.jpg" />.</p><p>The quality function <img src="3-7800146\f662d000-c9c5-48ee-bc7a-7822872669b3.jpg" /> returns the factor c, which has the minimum value <img src="3-7800146\d3eb72b5-8e26-44bb-b352-068fa8942d19.jpg" /> that allows the extracting algorithm to successfully extract the watermark. In fact, this value <img src="3-7800146\4a399d23-5df7-4e94-b3e5-e63d16c4f9df.jpg" /> is the main additive information embedded into the image; see, formula (3). Depending on the images and the amount of compression, we need to increase the watermark strength by increasing the factor<img src="3-7800146\55dca14c-f1e1-48af-9f53-7b871cd22022.jpg" />. Thus, for the tested images we compute the appropriate values for the parameters of the quality function<img src="3-7800146\93b92da5-63f2-4ccf-aad8-32c56e38899d.jpg" />; this computation can be efficiently done by using the algorithm described in Subsection 4.3.</p><p>To demonstrate the differences on watermarked image human visual quality, with respect to the values of the additive factor<img src="3-7800146\de8b4c4b-d489-428b-ae98-bed3b0f65f94.jpg" />, we watermarked the original images Lena and Baboon and we embedded in each image the same watermark with <img src="3-7800146\e4538a57-fe34-47df-b4ae-c2889501af9e.jpg" /> and<img src="3-7800146\db3c5fa5-d050-420b-8d6e-3f0a937ee85a.jpg" />, where<img src="3-7800146\fb4be378-17e7-454b-8a66-1c42f3216a01.jpg" />; the results are demonstrated in <xref ref-type="fig" rid="fig4">Figure 4</xref>.</p></sec><sec id="s5_2"><title>5.2. Image Quality Assessment</title><p>In order to evaluate the watermarked image quality obtained from our proposed watermarking method we used two objective image quality assessment metrics, that is, the Peak Signal to Noise Ratio (PSNR) and the Structural Similarity Index Metric (SSIM). Our aim was to prove that the watermarked image is closely related to the original (image fidelity), because watermarking should not introduce visible distortions in the original image as that would reduce images’ commercial value.</p><p>The PSNR metric is the ratio of the reference signal and the distortion signal (i.e., the watermark) in an image given in decibels (dB); PSNR is most commonly used as a measure of quality of reconstruction of lossy compression codecs (e.g., for image compression). The higher the PSNR value the closer the distorted image is to the original or the better the watermark conceals. It is a popular metric due to its simplicity, although it is well known that this distortion metric is not absolutely correlated with human vision.</p><p>For an initial image <img src="3-7800146\d3efb62b-91a6-48a1-bc1b-1f71e55b3c6b.jpg" /> of size <img src="3-7800146\b0d906c9-6159-48bf-94d7-ba0670ecec22.jpg" /> and its watermarked image<img src="3-7800146\edbcac64-afe2-43f9-89f6-76dde1ce2676.jpg" />, PSNR is defined by the formula:</p><disp-formula id="scirp.30057-formula86198"><label>(4)</label><graphic position="anchor" xlink:href="3-7800146\6233f9d3-2340-4f49-9afe-d5de8c89619b.jpg"  xlink:type="simple"/></disp-formula><p>where <img src="3-7800146\b7a94194-1c40-4b23-8041-4d72fc0a3963.jpg" /> is the maximum signal value that exists in the original image and MSE is the Mean Square Error given by</p><disp-formula id="scirp.30057-formula86199"><label>(5)</label><graphic position="anchor" xlink:href="3-7800146\db2368e4-8b33-4091-94a5-40ab78656ffa.jpg"  xlink:type="simple"/></disp-formula><p>The SSIM image quality metric [<xref ref-type="bibr" rid="scirp.30057-ref19">19</xref>] is considered to be correlated with the quality perception of the HVS [<xref ref-type="bibr" rid="scirp.30057-ref22">22</xref>]. The SSIM metric is defined as follows:</p><disp-formula id="scirp.30057-formula86200"><label>(6)</label><graphic position="anchor" xlink:href="3-7800146\c060a765-b050-4f10-bc65-5e89c4ea228f.jpg"  xlink:type="simple"/></disp-formula><p>where <img src="3-7800146\7b427777-7aff-4da2-bc5b-8a489b98daf4.jpg" /> and <img src="3-7800146\b550c91b-9e0e-4ac0-9ced-3d6d9164dab6.jpg" /> are the mean luminances of the original and watermarked image <img src="3-7800146\df769c4b-fb7c-43a4-a39c-ae1a85c37e90.jpg" /> respectively, <img src="3-7800146\7f36432b-292f-4f36-9924-aa1e6f4a36e1.jpg" />is the standard deviation of<img src="3-7800146\16519401-1417-4fd5-b7ef-8497d9f7988d.jpg" />, <img src="3-7800146\47555fbc-baeb-4504-ac96-9ab5bf2df448.jpg" />is the standard deviation of<img src="3-7800146\371384a2-409d-4833-a4fb-200b598b2a9a.jpg" />, whereas <img src="3-7800146\6e29b2eb-cf71-4341-8cb4-51ad86f70d5e.jpg" /> and <img src="3-7800146\4e99656a-f5ae-4a24-bfcc-b466907ca228.jpg" /> are constants to avoid null denominator. We use a mean SSIM (MSSIM) index to evaluate the overall image quality over the <img src="3-7800146\713f8b53-fedf-427e-82cd-c2d920ed4722.jpg" /> sliding windows; it is given by the following formula:</p><disp-formula id="scirp.30057-formula86201"><label>(7)</label><graphic position="anchor" xlink:href="3-7800146\633f25b9-0293-4787-b67e-fdf6d45691b9.jpg"  xlink:type="simple"/></disp-formula><p>The highest value of SSIM is 1, and it is achieved when the original and watermarked images, that is, <img src="3-7800146\6019a9d8-aa41-492f-91cb-29f0f71df115.jpg" />and<img src="3-7800146\69e7a591-54c7-4607-b065-00f742617be3.jpg" />, are identical.</p><p>Our watermarked images have excellent PSNR and SSIM values. In <xref ref-type="fig" rid="fig5">Figure 5</xref>, we present three images of different sizes, along with their corresponding PSNR and SSIM values. Typical values for the PSNR in lossy image compression are between 40 and 70 dB, where higher is better. In our experiments, the PSNR values of <img src="3-7800146\8c273c63-6015-4338-9948-8962babd56e0.jpg" /> of the watermarked images were greater than 40 dB. The SSIM values are almost equal to 1, which means that the watermarked image is quite similar to the original one, which proves the method’s high fidelity.</p><p>In Tables 1 and 2, we demonstrate the PSNR and SSIM values of some selected images of various sizes used in our experiments. We observe that both values, PSNR and SSIM, decrease as the quality factor of the images becomes smaller. Moreover, the additive value <img src="3-7800146\57d814be-6524-46c6-9a93-ff0b3eaa05ac.jpg" /> that enables robust marking under qualities <img src="3-7800146\b9d2eb0c-faf6-4b69-9bf3-099c7582e3a2.jpg" />and 60 does not result in a significant image distortion as Tables 1 and 2 suggest; see also the watermarked images on <xref ref-type="fig" rid="fig5">Figure 5</xref>.</p><p>In closing, we mention that Lena and Baboon images of <xref ref-type="fig" rid="fig4">Figure 4</xref> are both of size<img src="3-7800146\d96d710d-c3ab-41ea-ba76-03e786f5b94c.jpg" />. Lena image has PSNR values 55.4, 50.1, 46.2 and SSIM values 0.9980, 0.9934, 0.9854 for<img src="3-7800146\34ed2d85-7363-46b7-8b18-4a5f23b2b0f2.jpg" />, respectively, while Baboon image has PSNR values 52.7, 46.2, 42.5</p><p><xref ref-type="table" rid="table1">Table 1</xref>. The PSNR values of watermarked images of different sizes under JPEG qualities<img src="3-7800146\acaf8867-39bd-482d-8f36-1b18d8af2366.jpg" />.</p><p><img src="3-7800146\3b6e7c40-1338-4a28-93a9-84d902d55b22.jpg" /></p><p><xref ref-type="table" rid="table2">Table 2</xref>. The SSIM values of watermarked images of different sizes under JPEG qualities<img src="3-7800146\383b45c5-10c7-4de2-83cb-bd33a8a7d0db.jpg" />.</p><p><img src="3-7800146\8a8767fc-9625-4670-82ce-b6ce52d952bb.jpg" /></p><p>and SSIM values 0.9978, 0.9908, 0.9807 for the same quality factors.</p></sec><sec id="s5_3"><title>5.3. Other Experimental Outcomes</title><p>In the following, based on our experimental results, we discuss several impacts concerning characteristics of the host images and our embedding algorithm, and also we justify them by providing explanations on the observed outcomes.</p><sec id="s5_3_1"><title>5.3.1. The Additive Value Influences</title><p>As the experimental results show the PSNR and SSIM values decrease after embedding the watermark in images with lower quality index in its JPEG compression; see, Tables 1 and 2. That happens since our embedding algorithm adds more information in the frequency of marked image parts. By more information we mean a greater additive factor<img src="3-7800146\c6f2e284-3030-4c85-a232-11b835565caa.jpg" />; see, Equation (3).</p><p>We next discuss an important issue concerning the additive value <img src="3-7800146\b76aa4af-9e6c-4b73-a92b-a05a052fea89.jpg" /> returned by function<img src="3-7800146\b18bf558-8743-45df-8a2e-98f4af9c1520.jpg" />; see, Subsection 4.3. In <xref ref-type="table" rid="table3">Table 3</xref>, we show a sample of our results demonstrating for each JPEG quality the respective values of the additive factor<img src="3-7800146\7979fc13-90bf-47e8-81cc-161fb35acd86.jpg" />. The figures show that the <img src="3-7800146\3598515b-f9dd-4cfc-916c-331a211dfb6a.jpg" /> value increases as the quality factor of JPEG compression decreases. It is obvious that the embedding algorithm is image dependent. It is worth noting that <img src="3-7800146\b17f5675-e52a-4f5d-9ae0-9bd9b211fbe4.jpg" /> values are small for images of relatively small size while they increase as we move to images of greater size.</p><p>Moving beyond the sample images in order to show the behaviour of additive value <img src="3-7800146\f33434ee-1f00-450c-93f7-f26b21256482.jpg" /> under different image sizes, we demonstrate in <xref ref-type="fig" rid="fig6">Figure 6</xref> the average <img src="3-7800146\c53eb67e-79c7-4c4a-bb62-ec05abcd1e76.jpg" /> values of all the tested images grouped in three different sizes. We decided to select three representative groups for small, medium, and large image sizes, that is, 200 &#215; 200, 500 &#215; 500 and 1024 &#215; 1024, respectively. For each size group we computed the average <img src="3-7800146\0e88c4a0-7eac-4aa5-9736-ad85ee044f04.jpg" /> under the JPEG quality factors<img src="3-7800146\18607f6f-3861-4d83-939b-4c35acd45b5e.jpg" />.</p><p>As the experimental results suggest the embedding process requires greater optimal values <img src="3-7800146\c6221a37-7e69-4f24-a956-d03838113fc7.jpg" /> for the additive variable <img src="3-7800146\2330e31b-b115-48d5-ac25-877b144e5b70.jpg" /> as we get to JPEG compressions with lower qualities. The reason for that can be found looking at the three main steps of JPEG compression:</p><p>1) In the first step, the image is separated into <img src="3-7800146\5998b08e-dbd0-45f8-9c03-7c3b858c6272.jpg" /> blocks and converted to a frequency-domain representation, using a normalized, two-dimensional discrete cosine transform (DCT) [<xref ref-type="bibr" rid="scirp.30057-ref23">23</xref>].</p><p>2) Then, quantization of the DCT coefficients takes place. This is done by simply dividing each component of the DCT coefficients matrix by the corresponding constant from the same sized Quantization matrix, and then rounding to the nearest integer.</p><p>3) In the third step, it’s entropy coding which involves arranging the image components in a “zigzag” order employing run-length encoding (RLE) algorithm that groups</p><p><xref ref-type="table" rid="table3">Table 3</xref>. The optimal c values for watermarking image samples with respect to JPEG qualities<img src="3-7800146\3d832c66-565d-466b-b2ed-461f6a10ddf8.jpg" />.<img src="3-7800146\9f7eec20-d761-4917-b5aa-95eb36052dc3.jpg" /></p><p>similar frequencies together, inserting length coding zeros, and then using Huffman coding on what is left.</p><p>Focusing on the second step, we should point out that images with higher compression (lower quality) make use of a Quantization matrix which typically has greater values corresponding to higher frequencies meaning that information for high frequency is greatly reduced as it is less perceivable by human eye.</p><p>As we mentioned our method marks images in the higher frequency domain which means that as the compression ratio increases marks gradually become weaker and thus <img src="3-7800146\fb504763-bc3e-4e0c-8c53-3b03fc9b7f91.jpg" /> increases to strengthen the marks.</p><p>Furthermore, someone may notice that <img src="3-7800146\4863de74-db4a-468b-8ae1-5bbbe4132eeb.jpg" /> also increases for larger images. That is because regardless of the image size the widths of the ellipsoidal annuli remain the same meaning that the larger the image the less frequency amplitude is covered by the constant sized annuli. That makes marks less robust and require a greater <img src="3-7800146\9050035c-3344-4ba9-9e18-f69bcf7cee89.jpg" /> to strengthen them.</p></sec><sec id="s5_3_2"><title>5.3.2. Frequency Domain Imperceptiveness</title><p>It is worth noting that the marks made to embed the watermark in the image are not just invisible in the image itself but they are also invisible in the image’s overall Discrete Fourier Transform (DFT). More precisely, if someone suspects the existence of the watermark in the frequency domain and gets the image’s DFT, it is impossible to detect something unusual. This is also demonstrated in <xref ref-type="fig" rid="fig7">Figure 7</xref>, which shows that in contrast with using the ellipsoidal marks in the whole image, using them in specific areas makes the overall DFT seem normal.</p></sec></sec></sec><sec id="s6"><title>6. Concluding Remarks</title><p>In this paper we propose a method for embedding invisible watermarks into images and their intention is to prove the authenticity of an image. The watermarks are given</p><p>in numerical form, transformed into self-inverting permutations, and embedded into an image by partially marking the image in the frequency domain; more precisely, thanks to 2D representation of self-inverting permutations, we locate specific areas of the image and modify their magnitude of high frequency bands by adding the least possible information ensuring robustness and imperceptiveness.</p><p>We experimentally tested our embedding and extracting algorithms on color JPEG images with various and different characteristics; we obtained positive results as the watermarks were invisible, they didn’t affect the images’ quality and they were extractable despite the JPEG compression. In addition, the experimental results show an improvement in comparison to the previously obtained results and they also depict the validity of our proposed codec algorithms.</p><p>It is worth noting that the proposed algorithms are robust against cropping or rotation attacks since the watermarks are in SiP form, meaning that they determine the embedding positions in specific image areas. Thus, if a part is being cropped or the image is rotated, SiP’s symmetry property may allow us to reconstruct the watermark. Furthermore, our codec algorithms can also be modified in the future to get robust against scaling attacks. That can be achieved by selecting multiple widths concerning the ellipsoidal annuli depending on the size of the input image.</p><p>Finally, we should point out that the study of our quality function <img src="3-7800146\88e0e9fd-e136-4374-b71d-cf9cd1b97110.jpg" /> remains a problem for further investigation; indeed, <img src="3-7800146\d6196d33-3058-436d-a51a-5efbdc9dfa83.jpg" />could incorporate learning algorithms [<xref ref-type="bibr" rid="scirp.30057-ref24">24</xref>] so that to be able to return the <img src="3-7800146\456a4f4f-5f2a-48a5-bed0-d49b7bf55c80.jpg" /> accurately and in a very short computational time.</p></sec><sec id="s7"><title>REFERENCES</title></sec></body><back><ref-list><title>References</title><ref id="scirp.30057-ref1"><label>1</label><mixed-citation publication-type="other" xlink:type="simple">S. Garfinkel, “Web Security, Privacy and Commerce,” 2nd Edition, O’Reilly, Sebastopol, 2001.</mixed-citation></ref><ref id="scirp.30057-ref2"><label>2</label><mixed-citation publication-type="other" xlink:type="simple">L. Chun-Shien, H. Shih-Kun, S. Chwen-Jye and M. L. Hong-Yuan, “Cocktail Watermarking for Digital Image Protection,” IEEE Transactions on Multimedia, Vol. 2, No. 4, 2000, pp. 209-224. doi:10.1109/6046.890056</mixed-citation></ref><ref id="scirp.30057-ref3"><label>3</label><mixed-citation publication-type="other" xlink:type="simple">J. C. Davis, “Intellectual Property in Cyberspace—What Technological/Legislative Tools are Necessary for Building a Sturdy Global Information Infrastructure?” Proceedings of the IEEE International Symposium on Technology and Society, Glasgow, 20-21 June 1997, pp. 66-74.</mixed-citation></ref><ref id="scirp.30057-ref4"><label>4</label><mixed-citation publication-type="other" xlink:type="simple">J. J. K. O’Ruanaidh, W. J. Dowling and F. M. Boland, “Watermarking Digital Images for Copyright Protection,” Proceedings of the IEE Vision, Image and Signal Processing, Vol. 143, No. 4, 1996, pp. 250-256.  
doi:10.1049/ip-vis:19960711</mixed-citation></ref><ref id="scirp.30057-ref5"><label>5</label><mixed-citation publication-type="other" xlink:type="simple">I. J. Cox, M. L. Miller, J. A. Bloom, J. Fridrich and T. Kalker, “Digital Watermarking and Steganography,” 2nd Edition, Morgan Kaufmann, Burlington, 2008.</mixed-citation></ref><ref id="scirp.30057-ref6"><label>6</label><mixed-citation publication-type="other" xlink:type="simple">D. Grover, “The Protection of Computer Software—Its Technology and Applications,” Cambridge University Press, New York, 1997.</mixed-citation></ref><ref id="scirp.30057-ref7"><label>7</label><mixed-citation publication-type="other" xlink:type="simple">C. Collberg and J. Nagra, “Surreptitious Software,” Addison-Wesley, Boston, 2010.</mixed-citation></ref><ref id="scirp.30057-ref8"><label>8</label><mixed-citation publication-type="other" xlink:type="simple">I. Cox, J. Kilian, T. Leighton and T. Shamoon, “A Secure, Robust Watermark for Multimedia,” Proccedings of the 1st International Workshop on Information Hiding, Vol. 1174, 1996, pp. 317-333.</mixed-citation></ref><ref id="scirp.30057-ref9"><label>9</label><mixed-citation publication-type="other" xlink:type="simple">R. C. Gonzalez, R. E. Woods and S. L. Eddins, “Digital Image Processing Using Matlab,” Prentice-Hall, Upper Saddle River, 2003.</mixed-citation></ref><ref id="scirp.30057-ref10"><label>10</label><mixed-citation publication-type="other" xlink:type="simple">R. Sedgewick and P. Flajolet, “An Introduction to the Analysis of Algorithms,” Addison-Wesley, Boston, 1996.</mixed-citation></ref><ref id="scirp.30057-ref11"><label>11</label><mixed-citation publication-type="other" xlink:type="simple">M. C. Golumbic, “Algorithmic Graph Theory and Perfect Graphs,” Academic Press Inc., New York, 1980.</mixed-citation></ref><ref id="scirp.30057-ref12"><label>12</label><mixed-citation publication-type="other" xlink:type="simple">M. Chroni and S. D. Nikolopoulos, “Encoding Watermark Integers as Self-Inverting Permutations,” Proccedings of the 11th International Conference on Computer Systems and Technologies, ACM ICPS 471, 2010, pp. 125-130.</mixed-citation></ref><ref id="scirp.30057-ref13"><label>13</label><mixed-citation publication-type="other" xlink:type="simple">M. Chroni and S. D. Nikolopoulos, “An Efficient Graph Codec System for Software Watermarking,” Proceedings of the 36th International Conference on Computers, Software, and Applications, Workshop STPSA’12, 2012, pp. 595-600.</mixed-citation></ref><ref id="scirp.30057-ref14"><label>14</label><mixed-citation publication-type="other" xlink:type="simple">R. C. Gonzalez and R. E. Woods, “Digital Image Processing,” 3rd Edition, Prentice-Hall, Upper Saddle River, 2007.</mixed-citation></ref><ref id="scirp.30057-ref15"><label>15</label><mixed-citation publication-type="other" xlink:type="simple">V. Solachidis and I. Pitas, “Circularly Symmetric Watermark Embedding in 2D DFT Domain,” IEEE Transactions on Image Processing, Vol. 10, No. 11, 2001, pp. 1741-1753. doi:10.1109/83.967401</mixed-citation></ref><ref id="scirp.30057-ref16"><label>16</label><mixed-citation publication-type="other" xlink:type="simple">V. Licks and R. Hordan, “On Digital Image Watermarking Robust to Geometric Transformations,” Proceedings of the IEEE International Conference on Image Proceesing, Vol. 3, 2000, pp. 690-693.</mixed-citation></ref><ref id="scirp.30057-ref17"><label>17</label><mixed-citation publication-type="other" xlink:type="simple">E. Ganic, S. D. Dexter and A. M. Eskicioglu, “Embedding Multiple Watermarks in the DFT Domain Using Low and High Frequency Bands,” Proceedings of Security, Steganography, and Watermarking of Multimedia Contents VII, Jan Jose, 17 January 2005, pp. 175-184.  
doi:10.1117/12.594697</mixed-citation></ref><ref id="scirp.30057-ref18"><label>18</label><mixed-citation publication-type="other" xlink:type="simple">F. Petitcolas, “Image Database for Watermarking,” September 2012.  
http://www.petitcolas.net/ fabien/watermarking/</mixed-citation></ref><ref id="scirp.30057-ref19"><label>19</label><mixed-citation publication-type="other" xlink:type="simple">Z. Wang, A. C. Bovic, H. R. Sheikh and E. P. Simoncelli, “Image Quaity Assessment: From Error Visibility to Structural Similarity,” IEEE Transactions on Image Processing, Vol. 13, No. 4, 2004, pp. 600-612.  
doi:10.1109/TIP.2003.819861</mixed-citation></ref><ref id="scirp.30057-ref20"><label>20</label><mixed-citation publication-type="other" xlink:type="simple">M. Kaur, S. Jindal and S. Behal, “A Study of Digital Image Watermarking,” Journal of Research in Engineering and Applied Sciences, Vol. 2, No. 2, 2012, pp. 126-136.</mixed-citation></ref><ref id="scirp.30057-ref21"><label>21</label><mixed-citation publication-type="other" xlink:type="simple">J. M. Zain, “Strict Authentication Watermarking with JPEG Compression (SAW-JPEG) for Medical Images for Medical Images,” European Journal of Scientific Research, Vol. 42, No. 2, 2010, pp. 250-256.</mixed-citation></ref><ref id="scirp.30057-ref22"><label>22</label><mixed-citation publication-type="other" xlink:type="simple">A. Hore and D. Ziou, “Image Quality Metrics: PSNR vs. SSIM,” Proceedings of the 20th International Conference on Pattern Recognition, Istanbul, 2010, pp. 2366-2369.</mixed-citation></ref><ref id="scirp.30057-ref23"><label>23</label><mixed-citation publication-type="other" xlink:type="simple">N. Ahmed, T. Natarajan and K. R. Rao, “Discrete Cosine Transform,” IEEE Transactions on Computers, Vol. 23, No. 1, 1974, pp. 90-93. doi:10.1109/T-C.1974.223784</mixed-citation></ref><ref id="scirp.30057-ref24"><label>24</label><mixed-citation publication-type="other" xlink:type="simple">S. Russell and P. Norvig, “Artificial Intelligence: A Modern Approach,” 3rd Edition, Prentice-Hall, Upper Saddle River, 2010.</mixed-citation></ref></ref-list></back></article>