On Row-by-Row Coding for 2-D Constraints Ido Tal Tuvi Etzion Ron - - PowerPoint PPT Presentation

on row by row coding for 2 d constraints
SMART_READER_LITE
LIVE PREVIEW

On Row-by-Row Coding for 2-D Constraints Ido Tal Tuvi Etzion Ron - - PowerPoint PPT Presentation

Introduction 2-D Constraints Encoding Scheme Finding D On Row-by-Row Coding for 2-D Constraints Ido Tal Tuvi Etzion Ron M. Roth Computer Science Department Technion, Haifa 32000, Israel Introduction 2-D Constraints Encoding Scheme Finding


slide-1
SLIDE 1

Introduction 2-D Constraints Encoding Scheme Finding D

On Row-by-Row Coding for 2-D Constraints

Ido Tal Tuvi Etzion Ron M. Roth

Computer Science Department Technion, Haifa 32000, Israel

slide-2
SLIDE 2

Introduction 2-D Constraints Encoding Scheme Finding D

Graph Representable Constraint

1-D Constraints Let G(V, E, L) be an edge labeled graph, L : E → Σ. Example:

1 1 1 1

S = S(G) is the set of all words that are generated by paths in G. The capacity of S is given by cap(S) = lim

ℓ→∞(1/ℓ) · log2

  • S ∩ Σℓ
  • .
slide-3
SLIDE 3

Introduction 2-D Constraints Encoding Scheme Finding D

Parallel Encoding

An M-track, rate R, parallel encoder for a constraint S ⊆ Σ∗ We write to M tracks (columns).

slide-4
SLIDE 4

Introduction 2-D Constraints Encoding Scheme Finding D

Parallel Encoding

An M-track, rate R, parallel encoder for a constraint S ⊆ Σ∗ We write to M tracks (columns).

slide-5
SLIDE 5

Introduction 2-D Constraints Encoding Scheme Finding D

Parallel Encoding

An M-track, rate R, parallel encoder for a constraint S ⊆ Σ∗ We write to M tracks (columns). At each time slot, a symbol is written to each track (we produce a row). The row written is a function of the state of the encoder and of the current M · R information bits.

slide-6
SLIDE 6

Introduction 2-D Constraints Encoding Scheme Finding D

Parallel Encoding

An M-track, rate R, parallel encoder for a constraint S ⊆ Σ∗ We write to M tracks (columns). At each time slot, a symbol is written to each track (we produce a row). The row written is a function of the state of the encoder and of the current M · R information bits. g(0)

1

g(0)

2

· · · g(0)

k

· · · g(0)

M

slide-7
SLIDE 7

Introduction 2-D Constraints Encoding Scheme Finding D

Parallel Encoding

An M-track, rate R, parallel encoder for a constraint S ⊆ Σ∗ We write to M tracks (columns). At each time slot, a symbol is written to each track (we produce a row). The row written is a function of the state of the encoder and of the current M · R information bits. g(0)

1

g(0)

2

· · · g(0)

k

· · · g(0)

M

g(1)

1

g(1)

2

· · · g(1)

k

· · · g(1)

M

slide-8
SLIDE 8

Introduction 2-D Constraints Encoding Scheme Finding D

Parallel Encoding

An M-track, rate R, parallel encoder for a constraint S ⊆ Σ∗ We write to M tracks (columns). At each time slot, a symbol is written to each track (we produce a row). The row written is a function of the state of the encoder and of the current M · R information bits. g(0)

1

g(0)

2

· · · g(0)

k

· · · g(0)

M

g(1)

1

g(1)

2

· · · g(1)

k

· · · g(1)

M

. . . . . . . . . . . . . . . . . . g(t)

1

g(t)

2

· · · g(t)

k

· · · g(t)

M

slide-9
SLIDE 9

Introduction 2-D Constraints Encoding Scheme Finding D

Parallel Encoding

An M-track, rate R, parallel encoder for a constraint S ⊆ Σ∗ We write to M tracks (columns). At each time slot, a symbol is written to each track (we produce a row). The row written is a function of the state of the encoder and of the current M · R information bits. Each track must contain an element of S. g(0)

1

g(0)

2

· · · g(0)

k

· · · g(0)

M

g(1)

1

g(1)

2

· · · g(1)

k

· · · g(1)

M

. . . . . . . . . . . . . . . . . . g(t)

1

g(t)

2

· · · g(t)

k

· · · g(t)

M

slide-10
SLIDE 10

Introduction 2-D Constraints Encoding Scheme Finding D

Parallel Encoding

An M-track, rate R, parallel encoder for a constraint S ⊆ Σ∗ We write to M tracks (columns). At each time slot, a symbol is written to each track (we produce a row). The row written is a function of the state of the encoder and of the current M · R information bits. Each track must contain an element of S. g(0)

1

g(0)

2

· · · g(0)

k

· · · g(0)

M

g(1)

1

g(1)

2

· · · g(1)

k

· · · g(1)

M

. . . . . . . . . . . . . . . . . . g(t)

1

g(t)

2

· · · g(t)

k

· · · g(t)

M

∈ S

slide-11
SLIDE 11

Introduction 2-D Constraints Encoding Scheme Finding D

Parallel Decoding

An M-track (m, a)-SBD decoder At time slot t, the respective input bits are recovered from rows t − m, t − m + 1, . . . , t + a . . . . . . · · · . . . · · · . . . g(t−m)

1

g(t−m)

2

· · · g(t−m)

k

· · · g(t−m)

M

. . . . . . · · · . . . · · · . . . g(t)

1

g(t)

2

· · · g(t)

k

· · · g(t)

M

. . . . . . · · · . . . · · · . . . g(t+a)

1

g(t+a)

2

· · · g(t+a)

k

· · · g(t+a)

M

. . . . . . · · · . . . · · · . . .

slide-12
SLIDE 12

Introduction 2-D Constraints Encoding Scheme Finding D

Main Results

Main results of our parallel encoding/decoding scheme We approach cap(S(G)) as the number of tracks, M, grows. The vertical size of the decoding window is constant in M. For a constant graph size, encoding and decoding time is O(M log2 M log log M).

slide-13
SLIDE 13

Introduction 2-D Constraints Encoding Scheme Finding D

2-D Constraints

Consider as an example the square constraint [WeeksBlahut98]: The elements are all the binary arrays in which an entry may equal ‘1’ only if all its eight neighbors are ‘0’. 1 1 1 1 A graph which produces all ℓ × 4 arrays that satisfy this constraint: Thus, if the number of columns is reasonably small, we can reduce our 2-D constraint to a 1-D constraint.

0000 0001 0100 0010 1000 1010 1001 0101

The label of an edge is given by the label of the vertex it exits.

slide-14
SLIDE 14

Introduction 2-D Constraints Encoding Scheme Finding D

2-D Constraints (Cont.)

We use this as follows: Partition the 2-D array into two alternating type strips:

1 1 1 1 1 1 1 1 1 1

slide-15
SLIDE 15

Introduction 2-D Constraints Encoding Scheme Finding D

2-D Constraints (Cont.)

We use this as follows: Partition the 2-D array into two alternating type strips:

M data strips of width 4. 1 1 1 1 1 1 1 1 1 1

slide-16
SLIDE 16

Introduction 2-D Constraints Encoding Scheme Finding D

2-D Constraints (Cont.)

We use this as follows: Partition the 2-D array into two alternating type strips:

M data strips of width 4. M − 1 merging strips of width 1. 1 1 1 1 1 1 1 1 1 1

slide-17
SLIDE 17

Introduction 2-D Constraints Encoding Scheme Finding D

2-D Constraints (Cont.)

We use this as follows: Partition the 2-D array into two alternating type strips:

M data strips of width 4. M − 1 merging strips of width 1. 1 1 1 1 1 1 1 1 1 1

Think of each of the data strips as a track.

slide-18
SLIDE 18

Introduction 2-D Constraints Encoding Scheme Finding D

2-D Constraints (Cont.)

We use this as follows: Partition the 2-D array into two alternating type strips:

M data strips of width 4. M − 1 merging strips of width 1. 1 1 1 1 1 1 1 1 1 1

Think of each of the data strips as a track. Fill all the merging strips with ‘0’ bits.

slide-19
SLIDE 19

Introduction 2-D Constraints Encoding Scheme Finding D

2-D Constraints (Cont.)

We use this as follows: Partition the 2-D array into two alternating type strips:

M data strips of width 4. M − 1 merging strips of width 1.

Think of each of the data strips as a track. Fill all the merging strips with ‘0’ bits. We may now use an M-track parallel encoder in order to encode information to the array in a row-by-row manner.

slide-20
SLIDE 20

Introduction 2-D Constraints Encoding Scheme Finding D

2-D Constraints (Cont.)

We use this as follows: Partition the 2-D array into two alternating type strips:

M data strips of width 4. M − 1 merging strips of width 1. 1 1 1 1

Think of each of the data strips as a track. Fill all the merging strips with ‘0’ bits. We may now use an M-track parallel encoder in order to encode information to the array in a row-by-row manner.

slide-21
SLIDE 21

Introduction 2-D Constraints Encoding Scheme Finding D

2-D Constraints (Cont.)

We use this as follows: Partition the 2-D array into two alternating type strips:

M data strips of width 4. M − 1 merging strips of width 1. 1 1 1 1 1 1

Think of each of the data strips as a track. Fill all the merging strips with ‘0’ bits. We may now use an M-track parallel encoder in order to encode information to the array in a row-by-row manner.

slide-22
SLIDE 22

Introduction 2-D Constraints Encoding Scheme Finding D

2-D Constraints (Cont.)

We use this as follows: Partition the 2-D array into two alternating type strips:

M data strips of width 4. M − 1 merging strips of width 1. 1 1 1 1 1 1 1 1

Think of each of the data strips as a track. Fill all the merging strips with ‘0’ bits. We may now use an M-track parallel encoder in order to encode information to the array in a row-by-row manner.

slide-23
SLIDE 23

Introduction 2-D Constraints Encoding Scheme Finding D

2-D Constraints (Cont.)

We use this as follows: Partition the 2-D array into two alternating type strips:

M data strips of width 4. M − 1 merging strips of width 1. 1 1 1 1 1 1 1 1 1 1

Think of each of the data strips as a track. Fill all the merging strips with ‘0’ bits. We may now use an M-track parallel encoder in order to encode information to the array in a row-by-row manner.

slide-24
SLIDE 24

Introduction 2-D Constraints Encoding Scheme Finding D

2-D Constraints (Cont.)

We use this as follows: Partition the 2-D array into two alternating type strips:

M data strips of width 4. M − 1 merging strips of width 1. 1 1 1 1 1 1 1 1 1 1

Think of each of the data strips as a track. Fill all the merging strips with ‘0’ bits. We may now use an M-track parallel encoder in order to encode information to the array in a row-by-row manner. Enlarging the width of the data strips gives a better encoding rate, at the expense of the encoder’s complexity.

slide-25
SLIDE 25

Introduction 2-D Constraints Encoding Scheme Finding D

Encoder Definition

Multiplicity Matrix The description of our M-track parallel encoder for S = S(G) is defined by its respective multiplicity matrix D: Let AG = (ai,j) be the adjacency matrix of G. A nonnegative integer matrix D = (di,j)i,j∈V is a valid multiplicity matrix with respect to G and M if 1 · D · 1T ≤ M , (1) 1 · D = 1 · DT , and (2) di,j > 0 only if ai,j > 0 . (3) Our aim is to find a multiplicity matrix such that the respective encoder has rate close to cap(S).

slide-26
SLIDE 26

Introduction 2-D Constraints Encoding Scheme Finding D

For the sake of exposition, assume that G does not contain parallel edges. Let PD : E → [0, 1] be the Markov chain on G defined as follows: PD(i → j) = di,j/(1 · D · 1T ) . Since we required that 1 · D = 1 · DT , we have that PD is stationary. Essentially, the encoder “mimics” PD. The rate of the encoder approaches cap(S) when 1 · D · 1T approaches M and PD is close to the maxentropic Markov chain on G.

slide-27
SLIDE 27

Introduction 2-D Constraints Encoding Scheme Finding D

Encoder Example

α β γ a b c d e

AG =   1 1 1 1 1   D =   4 3 2 1 1   M = 12

slide-28
SLIDE 28

Introduction 2-D Constraints Encoding Scheme Finding D

Encoder Example

α β γ a b c d e

AG =   1 1 1 1 1   D =   4 3 2 1 1   1 · D · 1T = 11 M = 12

slide-29
SLIDE 29

Introduction 2-D Constraints Encoding Scheme Finding D

Encoder Example

α β γ a b c d e

AG =   1 1 1 1 1   D =   4 3 2 1 1   1 · D · 1T = 11 M = 12

slide-30
SLIDE 30

Introduction 2-D Constraints Encoding Scheme Finding D

Encoder Example

α β γ a b c d e

AG =   1 1 1 1 1   D =   4 3 2 1 1   1 · D · 1T = 11 1 · DT = (7, 3, 1) M = 12

slide-31
SLIDE 31

Introduction 2-D Constraints Encoding Scheme Finding D

Encoder Example

α β γ a b c d e

AG =   1 1 1 1 1   D =   4 3 2 1 1   1 · D · 1T = 11 1 · DT = (7, 3, 1) M = 12 α α α α α α α

slide-32
SLIDE 32

Introduction 2-D Constraints Encoding Scheme Finding D

Encoder Example

α β γ a b c d e

AG =   1 1 1 1 1   D =   4 3 2 1 1   1 · D · 1T = 11 1 · DT = (7, 3, 1) M = 12 α α α α α α α β β β γ

slide-33
SLIDE 33

Introduction 2-D Constraints Encoding Scheme Finding D

Encoder Example

α β γ a b c d e

AG =   1 1 1 1 1   D =   4 3 2 1 1   1 · D · 1T = 11 1 · DT = (7, 3, 1) M = 12 α α α α α α α β β β γ

slide-34
SLIDE 34

Introduction 2-D Constraints Encoding Scheme Finding D

Encoder Example

α β γ a b c d e

AG =   1 1 1 1 1   D =   4 3 2 1 1   1 · D · 1T = 11 1 · DT = (7, 3, 1) M = 12 α α α α α α α β β β γ a↓ a↓ a↓ a↓ α α α α

slide-35
SLIDE 35

Introduction 2-D Constraints Encoding Scheme Finding D

Encoder Example

α β γ a b c d e

AG =   1 1 1 1 1   D =   4 3 2 1 1   1 · D · 1T = 11 1 · DT = (7, 3, 1) M = 12 α α α α α α α β β β γ a↓ a↓ a↓ a↓ b↓ b↓ b↓ α α α α β β β

slide-36
SLIDE 36

Introduction 2-D Constraints Encoding Scheme Finding D

Encoder Example

α β γ a b c d e

AG =   1 1 1 1 1   D =   4 3 2 1 1   1 · D · 1T = 11 1 · DT = (7, 3, 1) M = 12 α α α α α α α β β β γ a↓ a↓ a↓ a↓ b↓ b↓ b↓ c↓ c↓ d↓ e↓ α α α α β β β α α γ α

slide-37
SLIDE 37

Introduction 2-D Constraints Encoding Scheme Finding D

Encoder Example

α β γ a b c d e

AG =   1 1 1 1 1   D =   4 3 2 1 1   1 · D · 1T = 11 1 · DT = (7, 3, 1) = 1 · D M = 12 α α α α α α α β β β γ a↓ a↓ a↓ a↓ b↓ b↓ b↓ c↓ c↓ d↓ e↓ α α α α β β β α α γ α

slide-38
SLIDE 38

Introduction 2-D Constraints Encoding Scheme Finding D

Encoder Example

α β γ a b c d e

AG =   1 1 1 1 1   D =   4 3 2 1 1   1 · D · 1T = 11 1 · DT = (7, 3, 1) = 1 · D M = 12 α α α α α α α β β β γ a↓ a↓ a↓ a↓ b↓ b↓ b↓ c↓ c↓ d↓ e↓ α α α α β β β α α γ α

slide-39
SLIDE 39

Introduction 2-D Constraints Encoding Scheme Finding D

Encoder Example

α β γ a b c d e

AG =   1 1 1 1 1   D =   4 3 2 1 1   1 · D · 1T = 11 1 · DT = (7, 3, 1) = 1 · D M = 12 α α α α α α α β β β γ a↓ a↓ a↓ a↓ b↓ b↓ b↓ c↓ c↓ d↓ e↓ α α α α β β β α α γ α

slide-40
SLIDE 40

Introduction 2-D Constraints Encoding Scheme Finding D

Encoder Example

α β γ a b c d e

AG =   1 1 1 1 1   D =   4 3 2 1 1   1 · D · 1T = 11 1 · DT = (7, 3, 1) = 1 · D M = 12 α α α α α α α β β β γ a↓ a↓ a↓ a↓ b↓ b↓ b↓ c↓ c↓ d↓ e↓ α α α α β β β α α γ α

slide-41
SLIDE 41

Introduction 2-D Constraints Encoding Scheme Finding D

Encoder Example

α β γ a b c d e

AG =   1 1 1 1 1   D =   4 3 2 1 1   1 · D · 1T = 11 1 · DT = (7, 3, 1) = 1 · D M = 12 α α α α α α α β β β γ a↓ a↓ a↓ a↓ b↓ b↓ b↓ c↓ d↓ c↓ e↓ α α α α β β β α γ α α

slide-42
SLIDE 42

Introduction 2-D Constraints Encoding Scheme Finding D

Encoder Example

α β γ a b c d e

AG =   1 1 1 1 1   D =   4 3 2 1 1   1 · D · 1T = 11 1 · DT = (7, 3, 1) = 1 · D M = 12 α α α α α α α β β β γ a↓ a↓ a↓ a↓ b↓ b↓ b↓ d↓ c↓ c↓ e↓ α α α α β β β γ α α α

slide-43
SLIDE 43

Introduction 2-D Constraints Encoding Scheme Finding D

Encoder Example

α β γ a b c d e

AG =   1 1 1 1 1   D =   4 3 2 1 1   1 · D · 1T = 11 1 · DT = (7, 3, 1) = 1 · D ∆ =

  • i∈V ri!

i,j∈V di,j! · a−di,j i,j

  • M = 12

α α α α α α α β β β γ a↓ a↓ a↓ a↓ b↓ b↓ b↓ d↓ c↓ c↓ e↓ α α α α β β β γ α α α

slide-44
SLIDE 44

Introduction 2-D Constraints Encoding Scheme Finding D

Maxentropic Distribution

Let P∗ : E → [0, 1] be the maxentropic stationary Markov chain on G. For an as yet unspecified M′, define: P = (pi,j) , pi,j = M′P∗(i → j) .

slide-45
SLIDE 45

Introduction 2-D Constraints Encoding Scheme Finding D

Halevy and Roth’s Solution

If, when taking M′ = M, all the entries of P were integers, then we could take D = P. We would have R(D) = log2 ∆

M

− − − − →

M→∞ cap(S(G)).

Solution [HalevyRoth]: Perturb a related matrix such that its entries are rational, and take M = M′ large enough. Problem: M unrealistically large.

slide-46
SLIDE 46

Introduction 2-D Constraints Encoding Scheme Finding D

Take M′ = M − ⌊|V | diam(G)/2⌋. We say that an integer matrix ˜ P = (˜ pi,j) is a good quantization of P = (pi,j) if M′ =

i,j∈V pi,j

=

  • i,j∈V ˜

pi,j , (4)

  • j∈V pi,j

j∈V ˜

pi,j ≤

  • j∈V pi,j
  • ,

(5) ⌊pi,j⌋ ≤ ˜ pi,j ≤ ⌈pi,j⌉ , and— (6)

  • i∈V pi,j

i∈V ˜

pi,j ≤

  • i∈V pi,j
  • .

(7)

slide-47
SLIDE 47

Introduction 2-D Constraints Encoding Scheme Finding D

Lemma There exists a matrix ˜ P which is a good quantization of P. Furthermore, such a matrix can be found by an efficient algorithm. Partial Proof. Formulate the above as an integer flow problem. A fractional solution exists. Thus, an integer solution exists.

slide-48
SLIDE 48

Introduction 2-D Constraints Encoding Scheme Finding D

Example M = 12 AG =   1 1 1 1 1  

slide-49
SLIDE 49

Introduction 2-D Constraints Encoding Scheme Finding D

Example M = 12 M′ = 9 AG =   1 1 1 1 1  

slide-50
SLIDE 50

Introduction 2-D Constraints Encoding Scheme Finding D

Example M = 12 M′ = 9 AG =   1 1 1 1 1   P =   3.05 2.53 1.64 0.89 0.89   ˜ P =   4 2 2 1  

slide-51
SLIDE 51

Introduction 2-D Constraints Encoding Scheme Finding D

Example

uσ uω u′

α

u′

β

u′

γ

u′′

α

u′′

β

u′′

γ

uτ (9, 9) (5, 6) (2, 3) (0, 1) (5, 6) (2, 3) (0, 1) (3, 4) (2, 3) (1, 2) (0, 1) (0, 1)

M = 12 M′ = 9 AG =   1 1 1 1 1   P =   3.05 2.53 1.64 0.89 0.89   ˜ P =   4 2 2 1  

slide-52
SLIDE 52

Introduction 2-D Constraints Encoding Scheme Finding D

Example

uσ uω u′

α

u′

β

u′

γ

u′′

α

u′′

β

u′′

γ

uτ (9, 9) 9 (5, 6) (2, 3) (0, 1) 5.58 2.53 0.89 (5, 6) (2, 3) (0, 1) 5.58 2.53 0.89 (3, 4) 3.05 (2, 3) 2.53 (1, 2) 1.64 (0, 1) 0.89 (0, 1) 0.89

M = 12 M′ = 9 AG =   1 1 1 1 1   P =   3.05 2.53 1.64 0.89 0.89   ˜ P =   4 2 2 1  

slide-53
SLIDE 53

Introduction 2-D Constraints Encoding Scheme Finding D

Example

uσ uω u′

α

u′

β

u′

γ

u′′

α

u′′

β

u′′

γ

uτ (9, 9) 9 (5, 6) (2, 3) (0, 1) 6 3 (5, 6) (2, 3) (0, 1) 6 2 1 (3, 4) 4 (2, 3) 2 (1, 2) 2 (0, 1) 1 (0, 1)

M = 12 M′ = 9 AG =   1 1 1 1 1   P =   3.05 2.53 1.64 0.89 0.89   ˜ P =   4 2 2 1  

slide-54
SLIDE 54

Introduction 2-D Constraints Encoding Scheme Finding D

Example

uσ uω u′

α

u′

β

u′

γ

u′′

α

u′′

β

u′′

γ

uτ (9, 9) 9 (5, 6) (2, 3) (0, 1) 6 3 (5, 6) (2, 3) (0, 1) 6 2 1 (3, 4) 4 (2, 3) 2 (1, 2) 2 (0, 1) 1 (0, 1)

M = 12 M′ = 9 AG =   1 1 1 1 1   P =   3.05 2.53 1.64 0.89 0.89   ˜ P =   4 2 2 1  

slide-55
SLIDE 55

Introduction 2-D Constraints Encoding Scheme Finding D

˜ P is an integer matrix (a good quantization of P). However, ˜ P is generally not a valid multiplicity matrix: We might have that 1 · ( ˜ P)T = 1 · ˜ P (the respective Markov chain is not stationary).

slide-56
SLIDE 56

Introduction 2-D Constraints Encoding Scheme Finding D

Theorem Let ˜ P = (˜ pi,j) be a good quantization of P. There exists a multiplicity matrix D = (di,j) with respect to G and M, such that

1 di,j ≥ ˜

pi,j for all i, j ∈ V , and—

2 M′ − ⌊|V | diam(G)/2⌋ ≤ 1 · D · 1T ≤ M

(where M′ = M − ⌊|V | diam(G)/2⌋). Moreover, the matrix D can be found by an efficient algorithm. Proof makes use of network flow as well.

slide-57
SLIDE 57

Introduction 2-D Constraints Encoding Scheme Finding D

Main Theorem

Theorem Let G be a deterministic graph with memory m. For M sufficiently large, one can efficiently construct an M-track (m, 0)-SBD parallel encoder for S = S(G) at a rate R such that R ≥ cap(S(G))

  • 1 − |V | diam(G)

2M

  • − O
  • |V |2 log (M · amax/amin)

M − |V | diam(G)/2

  • ,

where amin (respectively, amax) is the smallest (respectively, largest) nonzero entry in AG. Proof makes use of the multiplicity matrix guaranteed by previous theorem.