← rfc/
╔══════════════════════════════════════════════════════════════════════════╗
RFC 798 · graphics

RAPICOM 450’DEN FAKSİMİL VERİLERİNİN ÇÖZÜMLENMESİ

Yazar
Kurum
Tarih
Eylül 1981
Durum
Network Working Group Yorum Talebi
Kanal
graphics/

RAPICOM 450’DEN FAKSİMİL VERİLERİNİN ÇÖZÜMLENMESİ

Network Working Group — A. Katz
Request for Comments: 798
ISI
Eylül 1981


I. Giriş

Bu not, Rapicom 450 faks makinesinden gelen faksimil (fax) verilerini sıradan bir bitmap'e çözümleyen bir programın uygulanmasını açıklamaktadır. Bu bitmap daha sonra başka aygıtlarda görüntülenebilir ya da düzenlenip tekrar Rapicom 450 biçimine kodlanabilir. Bunun yapılabilmesi için, kodlama/çözümleme sürecinin faks makinesi içinde nasıl çalıştığını anlamak ve bu süreci bir program içinde yeniden gerçekleştirmek gerekli olmuştur.

Bu algoritma Weber [1] tarafından yazılmış bir makalede ve Mills [2] tarafından yazılmış bir notta açıklanmaktadır; ancak verilerin başarıyla çözümlenebilmesi için bu belgelerde sunulandan daha fazla bilgi gereklidir.

Program, TOPS20 üzerinde çalışan NLS’in bir alt sistemi olarak L10 dilinde yazılmıştır. Faks makinesi, FAXIE adı verilen mikroişlemci tabanlı bir arayüz aracılığıyla TOPS20’e bir terminal olarak bağlanmıştır.

Yardımlarından dolayı University College London’dan Steve Treadwell’e ve Information Sciences Institute’dan Jon Postel’e teşekkür edilir.


II. TOPS20 ile Arayüz

Faks makinesi, Steve Casner ve Bob Parker tarafından tasarlanıp geliştirilen FAXIE adlı mikroişlemci tabanlı bir birime bağlanmıştır. Daha ayrıntılı bilgi için [3] numaralı kaynağa bakılabilir. FAXIE, bir terminal hattı üzerinden TOPS20’e bağlanır ve bu hat üzerinden veriyi okuyup bir dosyaya kaydeden bir program yazılmıştır. Çözümleme programı faks verisini bu dosyadan okur.

Veri faks makinesinden seri olarak gelir. FAXIE bu veriyi 8 bitlik bir kaydırma yazmacına okur ve 8 bitlik baytı (oktet) terminal hattı üzerinden gönderir. Faks makinesi MARK değerini mantıksal 0’a ve SPACE değerini mantıksal 1’e atadığından (RS232’ye göre ters), FAXIE oktetteki her biti tümleyerek gönderir.

Veri TOPS20’e oktetler halinde, en anlamlı bit önce gelecek şekilde gönderilir. Eğer her okteti, FAXIE’nin veriyi TOPS20’e gönderdiği sırayla en anlamlı bitten en az anlamlı bite doğru okursanız, veriyi faks makinesinden FAXIE’ye geldiği sırayla okumuş olursunuz.

Rapicom 450 faksimil verisinin saklanmasına ilişkin standart RFC 769 [4] içinde açıklanmıştır. Bu standarda göre FAXIE’den gelen her oktet tümleyenlenmeli ve ters çevrilmelidir (yani oktetteki bitlerin sırası tersine çevrilir). Bu nedenle alıcı program veriyi dosyaya kaydetmeden önce bu işlemi gerçekleştirmiştir.

Çözümleme programı bu dosyayı okurken her okteti ters çevirmeli ve tümleyenlemelidir.

Faks makinesinden gelen her veri bloğu 585 bit uzunluğundadır. Bu verinin sonuna yedi adet 0 eklenerek toplam 592 bit ya da 74 oktet yapılır. RFC 769’a göre bu veri dosyada bir uzunluk okteti ve bir komut okteti ile başlatılarak saklanır. Olası komutlar şunlardır:

Uzunluk alanı bu blokta kaç oktet olduğunu belirtir ve END komutu hariç her zaman 76 (114 sekizlik) değerindedir; END komutu için 2 olabilir (veri yok). Uzunluk ve komut oktetleri ters çevrilmez ve tümleyenlenmez.

Aşağıda dosyadaki her bloğun diyagramı verilmiştir:

+--------+--------+--------+--------+--------+--------+
| length | command|  data  |  data  |  ...   |        |
+--------+--------+--------+--------+--------+--------+

III. Rapicom 450 Kodlama Algoritması

Sıradan bir 8½" × 11" belge yaklaşık 2100 tarama satırından oluşur. Her satırda 1726 pel (resim elemanı) bulunur. Her pel siyah (1) ya da beyaz (0) olabilir.

Rapicom 450’nin üç görüntü kalitesi modu vardır:

Veri, özel bir iki boyutlu çalışma-uzunluğu kodlama yöntemi kullanılarak iki satır birden kodlanır. Üst satırda 1726 pel ve alt satırda 1726 pel vardır. Her pel çifti (üst–alt) bir sütun olarak adlandırılır.

1726 sütunun her biri için dört olası yapılandırma (durum) vardır:

column (top-bottom)    pels    state
-------------------    ----    -----
W-W                    0,0     0
W-B                    0,1     1
B-W                    1,0     2
B-B                    1,1     3

Kodlama algoritması, Mills [2]’de verilen Şekil 1’deki deterministik olmayan sonlu durum otomatı cinsinden açıklanabilir. Bir durumdan (0–3) başlanır ve diyagramdaki yaylar üzerinde belirtilen bitler üretilerek başka bir duruma geçilir.

Örneğin durum 1 (WB) içindeyseniz, durum 2 (BW) durumuna geçmek için 101 (ikili) bitleri gönderilir; durum 0 (WW) durumuna geçmek için ise 1000 gönderilir. Her geçişte kullanılan bit sayısının değişken olduğuna dikkat edilmelidir.

Durum 0 (WW) ve durum 3 (BB) için özel bir çalışma-uzunluğu kodlama yöntemi kullanılır. Bu durumların her biriyle ilişkili iki durum değişkeni vardır:

Bu durumlardan birine girildiğinde sayaç sıfıra ayarlanır ve aynı durumdaki her ek sütun için artırılır. Çalışmanın sonunda bu sayaç, gerekirse yüksek anlamlı sıfırlarla genişletilerek gönderilir.

Eğer sayaç alanı doldurursa, sayaç gönderilir, alan uzunluğu bir artırılır ve sayım yeniden başlar. Bu değere run length word adı verilir ve uzunluğu 2 ile 7 bit arasındadır.

Örneğin durum 0 (WW) içinde olduğumuzu ve bu durum için çalışma uzunluğunun (beyaz çalışma uzunluğu) 3 olduğunu varsayalım. Üst üste üç adet 0 olduğunu düşünelim. İlk 0 bu duruma geçildiğinde kodlanmıştır; kodlanması gereken iki adet 0 daha vardır. Bu durumda gönderilecek veri:

010 (binary)

Benzer şekilde art arda yedi adet 0 varsa gönderilecek değer:

110

Ancak sekiz adet 0 şu şekilde gönderilir:

111 followed by 0000

ve beyaz çalışma uzunluğu 4 olur.

(On adet 0 ise 111 followed by 0010 biçiminde kodlanır ve beyaz çalışma uzunluğu 4 olur.)


Run-Length Alan Ayarlama Kuralları

Run length word uzunlukları 2 ile 7 bit arasında olmalıdır. Çalışma tek bir word ile kodlanmışsa ve şu durumlar geçerliyse alan uzunluğu azaltılır:

  1. Çalışma uzunluğu 3 ve en yüksek anlamlı bit 0 ise.
  2. Çalışma uzunluğu 4, 5, 6 veya 7 ve en yüksek anlamlı iki bit 0 ise.

Ayrıca çalışma en az iki run word içeriyorsa (ve run word boyutunun artmasını içerebiliyorsa) ve çalışma bir tarama satırının tam sonunda bitiyorsa uygulanacak özel bir kural vardır. Bu durumda çalışmanın son word’ü, sanki önceki word’ler yokmuş gibi azaltma açısından test edilir.


Örnek

Kodlama yönteminin anlaşılmasını doğrulamak için aşağıdaki belge bölümünü ele alalım (1 = siyah, 0 = beyaz):

top row:     0 1 1 1 1 1 0 0 0 0 0 1 1 0 0 0 ...
bottom row:  1 1 1 1 1 0 0 0 0 0 0 0 0 1 0 0 ...
------------- --------------------------------
state:       1 3 3 3 3 2 0 0 0 0 0 2 2 1 0 0 ...

Ayrıca siyah çalışma alan uzunluğunun 2, beyaz çalışma uzunluğunun 3 ve durumun 1 olduğunu varsayalım (bu örnek [1] kaynağından alınmıştır).

Bu bölüm şu şekilde kodlanır:

1 1011 11 000 1 0100 100 1 0 010 1000 ...

Not: Rapicom 450’nin bir alanın bitlerini ters sırayla gönderdiği görülmektedir. Bu durum Bölüm V’te ele alınacaktır. Ancak her çalışma uzunluğu alanı ters gönderildiğinden, yukarıdaki kodlanmış bit deseni gerçekte şu şekilde gönderilir:

1 1011 11 000 1 0100 001 1 0 010 1000 ...
                      ^
                      bu aslında ters çevrilmiş 100 değeridir

Başka Bir Örnek

Bu örnek çalışma-uzunluğu word uzunluklarının azaltılması kuralını gösterir:

top row:     0 1 1 0 0 1 1 1 1 1 0 0 ...
bottom row:  1 1 1 1 1 0 1 1 1 1 1 0 ...
------------- -----------------------
state:       1 3 3 1 1 2 3 3 3 3 1 0 ...

Bu kez siyah çalışma alan uzunluğunun 4, beyaz çalışma uzunluğunun yine 3 ve durumun 1 olduğunu varsayalım.

Bu bölüm şu şekilde kodlanır:

1 1011 0001 1 1 101 0111 011 1 1000 ...
       ^                ^
       3'e gider        blk sayacı 2 olur

Run alanlarının sırasını ters çevirdiğimizde gönderilen gerçek bit deseni şu olur:

1 1011 1000 1 1 101 0111 110 1 1000 ...
      ^
      bu aslında ters çevrilmiş 0001 değeridir

IV. Set-Up Bloğu ve Veri Başlığı

Faks makinesinden gelen her veri bloğu 585 bit uzunluğundadır. Bir görüntüdeki blok sayısı değişkendir ve görüntünün boyutuna ve özelliklerine bağlıdır. Bir blok, belgedeki bir tarama satırının ortasında sona erebilir; hatta bir blok içinde birçok tarama satırı bulunabilir.

585 bitlik veri bloğu şu bileşenlerden oluşur:

------------------------------------------------------------------
|  24-bit  |    37-bit   |         512-bit         |    12-bit   |
|sync code |    header   |           data          |   checksum  |
------------------------------------------------------------------

Kullanılabilir veri bitlerinin sayısı değişkendir ve 0 ile 512 arasında olabilir (her zaman 512 bit bulunmasına rağmen bazıları yok sayılır). Kullanılacak veri bitlerinin sayısı başlık içinde belirtilir.

RFC 798 — Faksimil Verisinin Çözümü

IV. Set-Up Bloğu ve Veri Başlığı

37 bitlik başlık şu alanlardan oluşur:

------------------------------------------------------------------
| 2-bit |5-bit|  10-bit  |   12-bit  |  3-bit   |   3-bit  |2-bit|
|seq num|flags|data count| x position|black size|white size|state|
------------------------------------------------------------------

Bu alanların açıklamaları aşağıdadır:

ÖNEMLİ NOT: Bu alanların çoğu (ancak tamamı değil) faks makinesi tarafından TERS SIRADA gönderilir. Her n-bitlik alanın bit sırası ters çevrilmelidir.

Sync code

Her blokta senkronizasyon sağlamak için kullanılır. Bu 24 bitlik alanın değeri 30474730 sekizliktir (ters çevrilmez).

Sequence number

Bu sayı veri blokları için 0, 1, 2, 3 şeklinde döner. Set-Up bloğu için 0 değerindedir (ters çevrilmez).

Flags

Bu bayrakların her biri 1 bit genişliğindedir:

Run

Amacı bilinmemektedir; her zaman 1 görünmektedir.

Cofb

Amacı bilinmemektedir; her zaman 0 görünmektedir.

Rpt

Set-Up blokları için 1’dir (faks makinesinden gelirken tekrar edilir, ancak FAXIE yalnızca bir tanesini TOPS20’e aktarır ve dosyaya kaydeder), veri blokları için 0’dır.

Spare

Amacı bilinmemektedir; önemli değildir.

Sub

Bu bir Set-Up bloğu ise 1’dir.

Data Count

512 veri bitinden kullanılacak yararlı bit sayısıdır. Tüm 512 bit kullanılmaz; yalnızca bu sayı kadar bit kullanılır. Bu değer 0 olabilir (genellikle ilk veri bloklarından birinde görülür); bu durumda blok atılır.

(Bu alan ters gönderilir.)

X Position

Tarama satırı üzerindeki mevcut konum; 0 ile 1725 arasında bir değerdir.

(Bu alan ters gönderilir.)

Black Size

Siyah çalışma-uzunluğu alanının boyutu; 2 ile 7 arasında olmalıdır. Bu değer siyah boyutu için doğru değerdir. Önceki bloğun sonunda bulunan değerden farklı olabilir.

(Bu alan ters gönderilir.)

White Size

Beyaz çalışma-uzunluğu alanının boyutu; 2 ile 7 arasında olmalıdır. Önceki bloğun sonunda bulunan değerden farklı olabilir.

(Bu alan ters gönderilir.)

State

Mevcut durum. Bu doğru durumdur. Önceki bloğun sonunda bulunan durumdan farklı olabilir.

(Bu alan ters gönderilmez.)

Data

Belgenin gerçek kodlamasını içeren 512 bit veri. Genel olarak bu verinin tamamı kullanılmaz; yalnızca data count tarafından belirtilen miktarı kullanılır.

Eğer bu bir set-up bloğu ise veri, belge türü hakkında bilgi içerir (aşağıya bakınız).

Checksum

Tüm blok üzerinde aşağıdaki polinom kullanılarak hesaplanan CRC sağlama toplamı:

x12 + x8 + x7 + x5 + x**3 + 1


Set-Up Bloğu Veri Biçimi

Bir setup bloğunda veri bölümü şu yapıdadır:

-----------------------------------------------------------
|   6-bit |    5-bit  |   1-bit  |  20-bits  |  480-bits
|   flags |    spare  |multi page|  of zeros |  1's and 0's
-----------------------------------------------------------

Flags (6 bit)

Her bayrak 1 bit genişliğindedir:

Start bit
Her zaman 0.

Speed
Express modunda ise 1.

Detail
Detail modunda ise 1.

Not: Detail ve Speed bayraklarının ikisi de 0 ise veri Quality mode içindedir.

14 inch paper
Kağıt uzunluğu 14 inç ise 1.

5.5 inch paper
Kağıt uzunluğu 5.5 inç ise 1.

Not: 14 inch ve 5 inch bayraklarının ikisi de 0 ise kağıt uzunluğu 11 inçtir.

Paper present
Tarayıcıda kağıt varsa 1 (her zaman 1 olmalıdır).

Spare

Bu 5 bit herhangi bir değerde olabilir.

Multi-page

Çok sayfalı mod ise 1.

Set-Up Bloğunun Veri Bölümünün Kalanı

Yukarıdaki alanları şu kısımlar izler:


Veri Bloğu Başlıkları Hakkında Önemli Notlar

  1. Ters Çevrilen Alanlar
    Aşağıdaki alanlar ters sırada okunmalıdır:

    • Data count
    • X position
    • Black run size
    • White run size

    Faks makinesi bu bitleri ters sırayla gönderir.

    Sequence number ve state alanları ters değildir.

    Ayrıca verideki her run alanı da ters gönderilir. Bu işlem, daha önce açıklanan her oktetin ters çevrilmesi ve tümleyenlenmesi işleminden ayrı bir işlemdir.

  2. Geçerli Veri Bitleri
    Verinin yalnızca ilk n biti geçerlidir; burada n = data count (ters çevrilmiş olduğunu unutmayın). Kalan bitler yok sayılmalıdır.

    Eğer n = 0 ise tüm blok yok sayılmalıdır.

  3. X Position İşleme Kuralları

    • X konumu son bloğun bittiği yerin ilerisindeyse aradaki boşluk beyaz (0) ile doldurulmalıdır.
    • X konumu son bloğun bittiği yerden küçükse örtüşen veri yeni blok verisi ile değiştirilmelidir.
    • X konumu 1726’dan büyükse yok sayılmalı ve önceki konumdan devam edilmelidir.
  4. Run Boyutları ve Durum

    Başlıkta verilen black size, white size (ters) ve state (ters değil) değerleri doğru kabul edilmelidir; önceki bloğun sonunda bulunan değerlerle uyuşmasa bile.

  5. Sequence Number

Sıra numarası (ters çevrilmemiş) 0, 1, 2, 3 boyunca saymalıdır. Eğer saymıyorsa, bir blok eksiktir.


V. Kod Çözme Algoritması

İlk bakışta, Şekil 1'deki sonlu durum diyagramı çözülmesi zor görünebilir. Örneğin, WW durumundaysanız ve bir sonraki bit 1 ise, WB mi yoksa BW durumuna mı geçileceğini nasıl belirlersiniz?

Yanıt şudur:

Dolayısıyla WW durumundaysanız:

Kod çözme programını yazarken iki bit okuma yöntemi gerekir:

Aşağıda parantez içinde gösterilen sayılar tüketilmeyen bitleri temsil eder.

Geçiş Kuralları

Durum BW (2) içindeyse:

Durum WB (1) içindeyse:

Durum WW (0) içindeyse:

Önce koşu uzunluğu algoritmasını çalıştır, ardından:

Durum BB (3) içindeyse:

Önce koşu uzunluğu algoritmasını çalıştır, ardından:

Koşu Uzunluğu Algoritması

Sonraki n bitine bak; burada n, siyah veya beyaz için koşu uzunluğu kelime boyutudur.

Adımlar:

  1. Bitleri ters çevir.
  2. Koşuya bağlı olarak o kadar BB veya WW çıktısı ver.
  3. Eğer alan doluysa:
    • Kelime boyutunu artır.
    • n+1 bit oku ve devam et.

Koşu uzunluğu kelime boyutu Bölüm III'teki kurallara göre azaltılabilir.

Her zaman koşu uzunluğunu işlersiniz; yalnızca bir adet WW veya BB olsa bile. Bu durumda koşu alanı 0 olacaktır.


Örnek

Aşağıdakini çözdüğümüzü varsayalım:

110111100010100100100101000...

Varsayımlar:

Aşağıdaki gibi ayrıştırılır:

1(1) 1011 11 000 1(0) 0100 100 1(0) 0(0) 010(1) 1000...

Parantez içindeki bitler tüketilmez, yani bir sonraki okunan bit aynıdır.

Kod çözme dizisi:

Bu sürecin devam ettirilmesi, daha önce açıklanan özgün bit desenini yeniden oluşturur.


Önemli Kod Çözme Uygulamaları

Her blok için her zaman yeniden baştan başla, çünkü:

Bu nedenle:

Herhangi bir geçişle eşleşmeyen geçersiz bir bit deseni görünürse, bloğun geri kalanı bozulmuş olabilir ve atılmalıdır.

Kod çözme programı, bir END komutu ile karşılaşana veya veri bitene kadar faks verisini blok blok işler.


VI. Program Performansı

L10 NLS programı, DEC KL10 üzerinde çalışan TOPS20 sisteminde ortalama bir belgeyi ince ayrıntı modunda çözmek için yaklaşık iki CPU dakikası alır.

Bu modda:

Bir program, bit eşlemlerini HP grafik terminalinde görüntüleyebilir ve böylece belgelerin belirli bölümlerinin incelenmesine olanak sağlar. Ekran boyutu sınırlamaları nedeniyle tam bir 8.5" × 11" sayfa ekrana tamamen sığmaz.

Terminalin yakınlaştırma özelliği, belgenin çok küçük bölümlerini incelemek için kullanılabilir.


Kaynaklar

  1. Weber, D. R., "Uyarlanabilir Bir Koşu Uzunluğu Kodlama Algoritması", International Conference on Communications (ICC‑75), IEEE, San Francisco, California, Haziran 1975.

  2. Mills, D. L., "Rapicom 450 Faksimile Veri Kod Çözme", WP2097/MD33E, COMSAT Laboratories, Washington D.C., tarih belirtilmemiş.

  3. Casner, S. L., "Faxie", ISI Internal Memo, USC/Information Sciences Institute, Şubat 1980.

  4. Postel, Jon, "Rapicom 450 Faksimile Dosya Biçimi", RFC 769, USC/Information Sciences Institute, Eylül 1980.


Ek

Bu ek şu bilgileri sağlar:

Veri sekizlik (octal) oktetler olarak temsil edilmiştir.

Aşağıdaki veri, uzunluk ve komut oktetleri eklenmiş biçimde faks makinesinin ürettiği formdadır:

114 70 142 171 330 13 377 377 377 371 53 200 0 5 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 121 21 261 114 71 142 171 330 40 0 102 326 270 152 42 42 44 111 0 42 151 267 122 366 110 237 102 211 365 111 171 336 51 244 247 377 377 111 362 177 377 377 377 377 377 377 377 377 376 104 213 241 41 111 377 111 337 377 377 377 377 377 377 377 377 377 377 377 163 301 361 377 377 377 377 360 177 12 0 114 71 142 171 330 141 137 177 377 344 10 0 160 23 301 160 137 376 204 352 135 27 353 264 0 70 100 7 20 75 0 0 0 0 0 344 0 0 0 0 0 0 0 0 34 275 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7 41 310 34 200 0 0 344 0 0 0 71 13 331 204 0 114 71 142 171 330 241 137 26 302 160 0 16 100 71 0 370 270 271 0 162 0 71 174 134 100 162 0 34 234 200 344 7 156 100 1 310 16 107 43 323 263 220 365 313 327 57 377 325 331 36 56 47 325 324 344 3 227 40 71 35 200 1 310 1 313 220 0 0 7 241 330 0 0 137 342 200 114 71 142 171 330 340 77 40 142 160 0 0 0 0 162 71 73 162 376 276 234 277 376 67 265 301 16 20 171 1 311 313 346 377 321 75 256 113 245 377 262 160 136 247 13 251 350 374 270 236 235 217 136 203 220 75 166 166 364 177 305 366 72 107 63 330 352 345 313 320 71 34 270 46 57 0

Aşağıdaki veri, her veri okteti ters çevrilip tümleyeni alındıktan sonra RFC 769 biçimine dönüştürülmüş aynı veridir:

114 70 271 141 344 57 0 0 0 140 53 376 377 137 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 125 165 167 162 114 71 271 141 344 373 377 275 224 342 251 273 273 333 155 377 273 151 22 265 220 355 6 275 156 120 155 141 204 153 332 32 0 0 155 260 1 0 0 0 0 0 0 0 0 200 335 56 172 173 155 0

FAKSİMİLE VERİSİNİN KOD ÇÖZÜLMESİ — RFC 798

Ek

155 4 0 0 0 0 0 0 0 0 0 0 0 61 174 160 0 0 0 0 360 1 257 377 114 71 271 141 344 171 5 1 0 330 357 377 361 67 174 361 5 200 336 250 105 27 50 322 377 343 375 37 367 103 377 377 377 377 377 330 377 377 377 377 377 377 377 377 307 102 377 377 377 377 377 377 377 377 377 377 377 377 377 377 37 173 354 307 376 377 377 330 377 377 377 143 57 144 336 377 114 71 271 141 344 172 5 227 274 361 377 217 375 143 377 340 342 142 377 261 377 143 301 305 375 261 377 307 306 376 330 37 211 375 177 354 217 35 73 64 62 366 120 54 24 13 0 124 144 207 213 33 124 324 330 77 26 373 143 107 376 177 354 177 54 366 377 377 37 172 344 377 377 5 270 376 114 71 271 141 344 370 3 373 271 361 377 377 377 377 261 143 43 261 200 202 306 2 200 23 122 174 217 367 141 177 154 54 230 0 164 103 212 55 132 0 262 361 205 32 57 152 350 300 342 206 106 16 205 76 366 103 221 221 320 1 134 220 243 35 63 344 250 130 54 364 143 307 342 233 13 377

Aşağıdaki veri, bu verinin genişletilmiş bitmap çıktısının ilk bölümüdür (burada yaklaşık 4 tarama satırı veya 2 tarama satırı çifti bulunmaktadır):

177 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 367 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 337 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 374 0 4 327 377 377 377 377 377 374 377 356 377 177 0 10 0 201 200 0 0 0 0 100 0 0 0 0 0 0 0 1 140 0 0 0 0 0 0 0 0 0 0 0 0 0 0 204 10 0 0 10 0 0 0 100 0 20 10 7 250 2 0 57 100 100 2 100 100 164 0 20 21 31 310 153 137 377 377 377 377 177 32 176 344 2 200 216 0 4 0 240 0 0 14 70 0 0 0 0 0 2 47 137 336 137 377 377 377 377 375 377 372 20 140 45 376 377 377 377 237 377 276 357 377 377 377 227 345 314 175 63 215 202 6 347 143 377 337 376 70 371 370 352 300 213 373 371 377 377 343 73 334 0 207 315 3 33 111 377 167 337 377 1 323 365 177 377 177 377 374 377 135 377 377 365 67 343 55 377 377 377 377 357 377 377 377 377 377 377 377 203 377 236 175 376 236 337 273 347 377

376 77 377 377 377 377 377 377 377 377 377 377 300 0 0 0 200 102 177 377 277 377 377 377 376 377 366 365 173 302 12 0 40 200 0 0 0 4 100 0 0 0 0 0 0 2 5 354 0 0 0 0 0 0 0 0 4 0 10 0 0 0 200 10 40 20 1 0 100 0 140 0 20 210 101 374 3 200 155 304 0 6 100 103 376 0 120 121 31 332 243 177 377 377 377 377 377 233 377 354 0 241 217 1 30 0 240 0 0 12 150 202 40 0 0 0 62 47 157 376 173 373 377 377 377 377 377 377 20 141 321 376 377 377 377 327 377 376 377 377 377 377 237 216 316 375 167 215 202 6 300 143 377 237 374 70 175 330 377 304 255 373 153 377 377 353 377 104 0 267 315 203 13 311 177 377 377 377 1 223 367 377 373 167 377 376 77 137 377 345 165 67 43 51 277 377 277 377 357 377 377 377 373 177 377 377 223 377 366 175 376 234 377 271 347 377 376 157 377 377 377 377 377 377 377 377 377 377 340 0 0 0 0 0 177 377 37 377 377 377 377 376 367 357 272 300 2 0 4 0 0 0 0 0 0 0 0 0 0 0 20 0 1 144 0 0 0 0 0 0 4 4 0 0 100 2 100 10 201 10 0 20 75 0 0 40 142 0 0 74 341 234 103 4 157 300 0 2 0 141 372 0 0 20 30 376 55 277 177 377 377 367 377 371 376 100 15 61 16 200 30 0 40 0 0 0 311 200 24 0 0 0 62 55 377 316 367 347 377 357 377 377 377 377 170 305 5 276 377 377 377 357 377 377 377 377 377 177 377 377 357 177 377 76 207 246 340 147 376 336 356 10 17 320 105 235 275 377 377 373 377 347 335 317 50 77 377 353 75 333 377 377 377 377 363 337 343 277 356 171 7 357 76 216 377 211 207 176 257 217 377 377 367 357 357 277 377 357 377 377 377 375 367 377 377 377 377 375 377 377 356 377 366 377 377 377 377 377 377 377 377 377 377 377 340 0 0 0 0 44 373 377 77 377 377 177 177 377 377 337 376 170 173 0 0 0 100 0 1 10 0 0 0 0 0 200 160 0 223 160 300 0 0 0 0 0 0 6 100 220 0 0 140 4 3 30 121 20 351 300 206 74 167 0 30 64 41 234 172 30 175 300 4 32 4 345 367 200 103 60 177 372 177 233 377 377 377 377 376 125 207 210 233 21 364 361 277 1 50 16 140 120 41 335 377 306 214 10 67 377 373 377 377 377 377 377 377 367 377 377 377 363 277 377 377 377 377 377 267 177 377 377 377 377 377 237 377 377 377 77 377 377 355 373