Efficient Encoding of Data into Two-Dimensional Constrained Bit Patterns
Danny Dub\'e

TL;DR
This paper addresses the complex problem of two-dimensional constrained coding, extending existing tile-based techniques to improve data embedding rates, despite the inherent computational challenges and undecidability issues.
Contribution
It generalizes the notion of tiles in two-dimensional constrained coding, enabling potentially higher data-embedding rates compared to previous methods.
Findings
Extended tile concept for better encoding efficiency
Potential for higher data-embedding rates
Addresses computational challenges in 2D constrained coding
Abstract
Two-dimensional constrained coding is a problem that is much more difficult than its one-dimensional counterpart. Indeed, in two dimensions, obtaining the answers to very natural questions becomes uncomputable. In particular, it is undecidable to determine if it is possible to fill the infinite plane with symbols in such a way that no forbidden pattern appears. Also, even when we know that such an infinite plane exists, it is uncomputable to determine the maximal rate at which payload data can be embedded into the selection of a valid infinite plane. Recently, Nakamura et al. presented a technique that efficiently performs the construction of a matrix of symbols that embeds payload data. Their technique is efficient in the sense that the construction takes time that is proportional to the area of the constructed matrix. Their technique is based on the offline elaboration of a collection…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsCellular Automata and Applications · Interconnection Networks and Systems · Algorithms and Data Compression
Efficient Encoding of Data
into Two-Dimensional Constrained Bit Patterns
Danny Dubé
*Université Laval
*Quebec City, Canada
Abstract
Two-dimensional constrained coding is a problem that is much more difficult than its one-dimensional counterpart. Indeed, in two dimensions, obtaining the answers to very natural questions becomes uncomputable. In particular, it is undecidable to determine if it is possible to fill the infinite plane with symbols in such a way that no forbidden pattern appears. Also, even when we know that such an infinite plane exists, it is uncomputable to determine the maximal rate at which payload data can be embedded into the selection of a valid infinite plane. Recently, Nakamura et al. presented a technique that efficiently performs the construction of a matrix of symbols that embeds payload data. Their technique is efficient in the sense that the construction takes time that is proportional to the area of the constructed matrix. Their technique is based on the offline elaboration of a collection of tiles, which is then used for the matrix construction. The collection-elaboration step is time consuming and it might even never terminate nor succeed. In this work, we extend their technique by generalizing their notion of tile. Our technique has the potential to achieve much higher data-embedding rates.
Index Terms:
constrained coding, run-length limited code, two-dimensional constrained coding
I Introduction
I-A Constrained Coding
Constrained coding consists in building strings on an alphabet that obey a given constraint. The constraint that must be obeyed depends on the application. For instance, balanced codewords are strings on that contain exactly as many ’’s as ’’s [1]. An application that requires the use of balanced codes would fix a certain codeword length , for even, and would use a coding function that would map input data (or payload data), which is a string of arbitrary length on some input alphabet , into a number of balanced codewords, which are each in . For reasons of efficiency, the mapping ought to be devised so that as few output symbols get emitted per input symbol, on average, while obeying the constraint of balance. The balance constraint is said to be global because the property that must be obeyed applies on whole codewords.
On the other hand, a constraint may be local, in the sense that any substring of length, say, of a valid codeword has to obey a certain criterion. For instance, an application may require that any run of a repeated symbol is limited in length. Say, any run must have maximal length . At the same time, any run must also have minimal length . For technical reasons, it is often more convenient to specify run-length limitations (RLL) in the NZRI notation. In NZRI notation, a zero indicates that the current symbol is identical to the preceding symbol, while a one indicates that the current symbol differs from the preceding symbol. On a binary alphabet, there is a one-to-one correspondence between the plain encoding of a string and its NZRI encoding. The NZRI encoding is especially convenient when we are only interested in constraining the length of the runs, not the actual symbols that constitute the runs.
Moreover, it is often more convenient to specify a local constraint by listing the substrings that are forbidden. For instance, an RLL code in the NZRI notation may be subject to a -constraint, which means that two successive ones must be separated from each other by at least zeros but by no more than zeros. In particular, the -RLL constraint states that there must at least one () but at most three () zeros between two successive ones. The -constraint is conveniently expressed by the two forbidden patterns ‘’ and ‘’; in other words, the first forbidden pattern expresses the fact that two ones cannot be next to each other (i.e. there cannot be as few as no zeros between two successive ones) and four zeros cannot be consecutive (i.e. there cannot be four zeros or more between two successive ones).
I-B The Two-Dimensional Variant
In this work, we consider the two-dimensional (2D) variant of constrained coding. In particular, we consider 2D constrained coding with local constraints only. A given instance of this problem can be specified using a finite set of forbidden 2D finite patterns. Forbidden patterns can have arbitrary shapes. However, for the sake of simplicity and without loss of generality, we may translate the set of irregularly shaped forbidden patterns into an equivalent finite set of rectangular valid patterns; each of which is a rectangle of symbols in [2]. Then a matrix (in the finite case) or a 2D plane (in the infinite case) on is valid if, for any position, the rectangle of symbols that we extract at that position is valid.
It is well known that 2D constrained coding has to deal with uncomputability. In particular, it is generally undecidable to verify if a given set of forbidden patterns allows the 2D infinite plane can be filled in a valid way. Also, even in cases in which we know that a valid infinite plane exists, it is generally uncomputable to determine the data-embedding capacity that can be achieved through the selection of the symbol that appear in each position of the plane.
I-C The Task: Fast Data Encoding
In this work, our goal consists in devising a fast procedure for filling a matrix and for embedding data into the bits that get selected. We focus on the case . It is important to note that we do not claim to bring solutions on how to address the uncomputable aspects that hide behind the task. Our procedure relies on a preliminary step which is performed offline and which addresses a difficult combinatorial task. If the preliminary step completes with success, then we obtain the means for performing matrix/plane filling. It is just that the preliminary step might never succeed. The procedure that we propose here is an extension of the work presented by Nakamura et al. [3].
I-D A Specific Coding Problem
In order to present our proposal and make a comparison possible with the work by Nakamura et al., we address the same 2D constrained coding problem that they addressed in their work. The problem consists in constructing a matrix or a plane while obeying the constraints which are the straightforward 2D version of the usual 1D -RLL constraints. More explicitly, we forbid two ones from occurring next to each other, vertically or horizontally, and we forbid four zeros from occurring consecutively, vertically or horizontally. Figure 1 depicts the constraints that apply to the addressed problem.
II The NOM Tile-Based Encoding Technique
We summarize the technique proposed by Nakamura et al. [3]. For the sake of brevity, we refer to their technique as the NOM tile-based encoding technique, after the initials of the authors’ names.
II-A Tile-Based Encoding
Basically, the NOM technique consists in a preliminary step which is the offline elaboration of a collection of tiles and then in the regular data-encoding step. A tile is a bit matrix of size , for sufficiently large width and height . The meaning of “sufficiently large” is explained below. All the tiles of the collection have to obey the constraints that are specific to 2D -RLL constrained coding. Also, all the tiles of the collection have the shape and contents shown in Figure 2. Note that all the non-central parts of a tile are identical from tile to tile; i.e. the , , and parts. The central part of a tile, however, varies and we say that the th tile has as a central part.
The parts of the tiles that are constant ensure that, when tiling a surface, either a matrix or the plane, that surface may be tiled quickly, without ever requiring backtracking. That is, if a tile is placed at some position, then it is possible to place any tile of the collection exactly columns to the right (or to the left) of it. Similarly, it is possible to place any tile of the collection exactly rows below (or above) it. This tiling strategy causes a tile to have an overlap of thickness with its right-hand side neighbour, with its left-hand side neighbour, with its neighbour above, and with its neighbour below. The contents of the overlaps are guaranteed to agree, due to the parts that are constant. Moreover, the constraints of the specific constrained coding problem at hand are guaranteed to be obeyed. The thickness of has been selected because it is the minimal one that ensures the avoidance of forbidden patterns, given that the largest forbidden patterns have size , horizontally or vertically. For example, if three consecutive zeros appear horizontally in part , then every part is built in such a way that it avoids extending the run of zeros up to length four or more.
II-B Characteristics
On top of providing constructive means to tile a surface, the NOM technique allows one to embed information by the selection of the tiles. If the collection of tiles has size , then bits get embedded per tile. Clearly, given that a collection of tiles has been elaborated offline beforehand, then the tiling process and information embedding can be performed with constant time per tile; i.e. in time proportional to the area of the covered surface.
The NOM technique has the advantage that all the costly (due to the combinatorics) and risky (due to the semicomputability) computations are performed offline. It also has the advantage of defining a fixed-to-fixed code. Consequently, given the size of the data that one wants embed into a constrained tiling, it is straightforward to determine the area of a sufficiently large surface to hold that data. On the other hand, a disadvantage of the technique comes from the incapacity of the overlapping parts to encode data. Indeed, every rows, there are rows that do not encode any payload data. Vertically too, every columns, there are columns that no encode any payload data. Another disadvantage is that, if one wants to obtain a reasonable data embedding capacity, relatively large tiles have to be used; i.e. the area of has to compare favourably enough to those of , , and .
III Proposed Tile-Based Encoding Technique
In this work, we propose an alternate technique that alleviates this problem and that has the potential to embed more information per coded bit. We start by presenting the proposed technique, then we discuss about its characteristics, and we end the section with a concrete example.
III-A Tile-Based Encoding
Like the NOM technique, ours is based on overlapping tiles but it differs in imposing a looser constraint on the overlapping parts. Instead of forcing the overlap between a tile and its neighbour to the right be always the same, we allow multiple different overlaps. We relax the constraint on the overlap between vertical neighbours in a similar fashion.
Let us suppose that we use tiles of size . Then, the elaboration of a collection of tiles starts with the selection of a set of valid horizontal overlaps and a set of valid vertical overlaps . A valid overlap in is a matrix of size that does not contain a forbidden pattern. A valid overlap in is a matrix of size that does not contain a forbidden pattern. The invariants that we impose on a valid collection of tiles, given and , are the following:
- C1
for any tile in the collection, the sub-matrix obtained by extracting its leftmost columns and the one obtained by extracting its rightmost columns are elements of ; moreover, the sub-matrix obtained by extracting its top rows and the one obtained by extracting its bottom rows are elements of and
- C2
given any leftmost overlap taken from and any top overlap taken from , if the top sub-matrix of is equal to the leftmost sub-matrix of , then there exists at least one tile in the collection that has its leftmost columns equal to and its top rows equal to .
These invariants ensure that, if we tile a surface from left to right and downwards, then it is always possible to pick a tile in the collection to cover the next tile position. Figure 3 depicts the parts that constitute a tile of the collection. Note that our technique does not require tiles to be large; i.e. such that we have and . In that respect, Figure 3 is misleading in that it implies that the leftmost overlap is disjoint from the rightmost overlap; similarly regarding the top and the bottom overlaps. Figure 4 depicts the shape and contents of the tiles for the case and . Note that there are, in principle, two other cases to describe (that is, the case and and the case and ) but we trust that the reader can infer the invariants that apply in these cases from those that are already depicted in Figures 3 and 4.
III-B Characteristics
The technique we propose has more numerous similarities with the NOM technique than differences. It is based on elaborating a collection of tiles offline that may then be used to cover a surface very quickly. Selecting a tile for the next tile position can be made in constant time. The overlap between neighbouring tiles also has thickness . However, our technique allows the contents of the overlap to vary from a tile position to another. In principle, this allows our technique to have the overlaps embed payload data as well as the central parts . All the costly and risky computations are performed during the offline step only.
One disadvantage of our technique is that it is not necessarily a fixed-to-fixed code like the NOM technique. Indeed, each time a tile must be selected subject to the given overlaps and , there may be a different number of candidates available. This is made obvious in Subsection III-C. This means that the selection process that is performed at each tile position may lead to a different number of bits being embedded. Another disadvantage of our technique, and it is a more severe one, is that condition C2 of the invariants only guarantee that there is at least one candidate available. This condition is sufficient to ensure progress in covering an arbitrarily large surface. However, it is not sufficient to guarantee that an arbitrary number of bits will get embedded in the process. Although the consequences of that weakness may look bad, this is easy to fix. The corrective is mentioned as future work, in the conclusion; see Section IV.
Finally, an advantage that our technique brings is that, since all the parts of the tiles have the potential to embed payload data, it is not necessary to use as large tiles as in the NOM technique. Indeed, in the NOM technique, it is crucial to use tiles of size at least , to ensure that central part is non-trivial. In our technique, it makes sense to consider using tiles of size or smaller. This is made obvious in the example below.
III-C Example of a Collection of Tiles
We have implemented a prototype for the proposed technique in order to obtain a proof of concept. Although we expected that smaller tiles than in the NOM technique would likely be sufficient, it came as a surprise to us that a collection of tiles of the smallest possible size could be elaborated; i.e. a collection of tiles. Let us note that such small tiles allow no more than a single bit to be selected per selected tile, as all the bits in a new tile except the bottom-right one are already determined by the overlaps and ; see Figure 5(d).
Out of the set of the valid tiles, a collection made of tiles which obeys C1 and C2 could be elaborated by our prototype. Due to lack of space, we do not present the collection of tiles itself. We rather mention a few facts about the collection. As written above, in most tile positions, only one bit may potentially be selected (see Figure 5(d)), which means that the constraints imposed by the forbidden patterns are quite strict. Indeed, out of the possible contexts set by the overlaps and , only allow the bottom-right bit to be chosen freely. It means that the other contexts cause the bottom-right bit to be either a zero or a one by obligation.111From the contexts that allow freedom and the ones that force the choice of the bit, we obtain the tiles of our collection.
We tested the data-embedding capacity of our collection of tiles on a short string of payload bits. The data are made from the concatenation of the -bit Ascii codewords for the characters of the text “Hello world!”. The data has been successfully embedded into a binary matrix. Figure 6 shows the resulting matrix.
In order to get an idea of where data get embedded into the binary matrix, Figure 7 shows, for each tile position, how many tiles were candidates to be selected in that position. Let us recall that there are fewer tile positions than bits in the binary matrix; this is because the tiles have size . We can observe that there are usually more options available along the left-hand and top boundaries and even more so at the top-left position. This is natural as the selection of a tile in the top-left position is made in the context shown in Figure 5(a); in the top row, it is made in a context like the one shown in Figure 5(b); in the leftmost column, it is made in a context like the one shown in Figure 5(c); and, elsewhere in the matrix, it is made in a context like the one shown in Figure 5(d). Clearly, very few bits of payload data get embedded in the ordinary tile positions (“elsewhere”) on average; most tile positions allow only a single candidate. This illustrates a point made above about the fact that our definition of a valid collection does not guarantee that an arbitrary amount of payload data can get embedded in arbitrary large binary matrices. In theory, it could happen that an unfortunate choice of tiles on a row would constrain the following rows to deal only with contexts that force a single-candidate tile selection. This theoretically possible phenomenon would not compromise the progress in tiling an arbitrarily large surface but it could stop the progress in embedding payload data.
This study of the same 2D constrained coding problem should be extended to larger tiles, like tiles of sizes , , … However, as a proof of concept, it is already interesting to see that tiles as small as manage to be sufficient to embed possibly unlimited amounts of payload data into binary matrices. The use of larger tiles would render single-candidate selections much less frequent, if not impossible. Future work presented in the conclusion addresses this issue.
Studying our collection of tiles further might lead to the establishment of stronger results about the data-embedding capacity of the whole matrix or, to the very least, its leftmost and top portions. In particular, the leftmost column and the top row are simpler to study because their processes of tile selection are one-dimensional Markov processes that can be modelled using finite automata. A finite automaton can be scrutinized to determine whether the control could get stuck into a subset of states where no data embedding occurs. If such an undesirable possibility exists, then the removal of certain transitions may turn the automaton into one where no such traps exist. One the other hand, formally studying the tile-selection process elsewhere in the matrix might prove difficult, if computable at all. Indeed, a finite automaton is not sufficient to model that process as the tile-selection process in not only influenced by the overlaps left by the left-hand side neighbours during the tiling of a row but also by the sequence of top overlaps left by the tiles selected in the previous row. Collectively, these top overlaps form a memory with potentially arbitrarily complex states.
IV Conclusion
In this work, we presented an extension of a tile-based technique for efficiently encoding data into 2D binary matrices while obeying 2D constraints on the bit patterns. Both the technique by Nakamura et al. and ours proceed by elaborating a collection of tiles offline and then using that collection to tile an arbitrarily large surface in time proportional to the area of the surface. Ours differs from the previous one in the fact that our tiles do not need to contain fixed parts for ensuring coordination between neighbouring tile. This feature causes our technique to have the potential to achieve much higher data embedding rates. We presented the definitions that are necessary for our technique and we made a case study, based on our prototype.
Investigation ought to be continued on our technique. First, we intend to use stronger conditions on the collections that we elaborate in order to guarantee not only that the tiling process may continue indefinitely but also that additional payload data can get embedded indefinitely by the tiling process. This added guarantee can be obtained by further requiring that, in any context, the selection of a tile is made over at least two candidates.
Second, when multiple candidate tiles may fit a particular context, it might be more profitable not to use equal probabilities over the candidates. Indeed, even if equiprobable selection maximizes the immediate entropy during that very selection, it does not necessarily maximizes entropy on the long run. Favouring a particular tile may reduce the (expected) number of steps before another multiple-candidate tile selection is reached. Clearly, the probabilities associated with the different candidates ought to be adjusted in order to optimize the global data-embedding rate. Due to the 2D nature of the tile-selection process, the optimization might prove to be a difficult task.
Acknowledgements
The author wishes to thank the authors of the paper on the NOM technique [3] for the invaluable discussions about their work. Also, this research and meetings with the authors of the paper on the NOM technique were greatly facilitated by the Invitational Fellowship for Research in Japan granted by the Japanese Society for the Promotion of Science.
The reference list from the paper itself. Each links out to its DOI / PubMed record.
- 1[1] D. E. Knuth, “Efficient balanced codes,” IEEE Transactions on Information Theory , vol. 32, no. 1, pp. 51–53, 1986.
- 2[2] T. Ota, A. Manada, and H. Morita, “A finite graph representation for two-dimensional finite type constrained systems,” in Proceedings of the International Symposium on Information Theory and its Applications , Monterey, California, USA, October 2016, pp. 51–55.
- 3[3] R. Nakamura, T. Ota, and A. Manada, “A fast construction algorithm of blocks based on two-dimensional ( d , k ) 𝑑 𝑘 (d,k) run-length-limited constraint using flat tori,” in Proceedings of the Symposium on Information Theory and its Applications , Iwaki, Fukushima, Japan, December 2018, pp. 274–279, (in Japanese).
- 4[4] E. Louidor, T. L. Poo, P. Chaichanavong, and B. H. Marcus, “Maximum insertion rate and capacity of multidimensional constraints,” in Proceedings of the International Symposium on Information Theory , Toronto, Ontario, Canada, July 2008, pp. 1458–1462.
