Teknoloji 4 dk okuma Bora Ilgıner
Kare Desenin İçinde Ne Yazıyor? QR Kodun Okunma Mantığı
Köşelerdeki üç kare, zamanlama desenleri ve hata düzeltme verisi bir araya gelince buruşuk bir kağıttan bile bilgi okunabiliyor.
Menülerde, faturalarda, otobüs duraklarında ve ürün ambalajlarında karşımıza çıkan siyah beyaz kareler artık gündelik hayatın sıradan bir parçası. Kamera doğrultulduğunda saniyeden kısa bir sürede bir adres ya da metin beliriyor. Peki o dağınık görünen desende bilgi tam olarak nasıl saklanıyor?
Kare kodun içinde gizemli bir şey yoktur. Desen, belirli kurallara göre yerleştirilmiş bir bit haritasından ibarettir. Bu kuralları bilmek hem teknolojinin nasıl çalıştığını anlamayı hem de güvenlik açısından nelere dikkat edilmesi gerektiğini görmeyi sağlar.
Çizgiden kareye geçiş
Klasik barkod bilgiyi tek boyutta taşır: çizgilerin kalınlığı ve aralığı yatay eksende okunur. Bu yapı basit ve dayanıklıdır ama kapasitesi sınırlıdır ve yalnızca doğru açıdan okunabilir.
Kare kod bilgiyi iki boyuta yayar. Hem yatay hem dikey eksen kullanıldığı için aynı alanda çok daha fazla veri saklanabilir. Böylece birkaç haneli bir numara yerine uzun bir metin ya da adres taşınabilir hale gelir.
İki boyutlu yapının bir başka avantajı da yönden bağımsız okunabilmesidir. Kod ters durduğunda ya da eğik tutulduğunda bile çözülebilir.
Bu geçişin bir sonucu da yazdırma esnekliğidir. Kare kod, dar ve uzun bir şerit yerine kare bir alana yerleşir; bu da etiketlerde, ambalajlarda ve ekranlarda kolay konumlandırılmasını sağlar.
Köşelerdeki üç büyük kare
Her kare kodun üç köşesinde iç içe geçmiş kare desenler bulunur. Bunlar konum işaretleridir ve okuyucunun ilk aradığı şeydir.
Bu desenlerin oranı, görüntü içinde başka hiçbir yerde kolayca rastlanmayacak biçimde seçilmiştir. Okuyucu görüntüyü tararken bu benzersiz oranı yakalar ve kodun sınırlarını belirler.
Üç köşenin işaretli, dördüncü köşenin boş olması ise yönü belirler. Böylece kodun hangi tarafının üst olduğu anlaşılır ve görüntü dijital olarak düzeltilir.
Hizalama ve zamanlama desenleri
Konum işaretlerinin yanında daha küçük hizalama kareleri de bulunur. Bunlar özellikle büyük kodlarda, yüzey eğri ya da açı bozuk olduğunda ızgaranın doğru oturmasını sağlar.
İki konum işaretini birbirine bağlayan sıralı siyah beyaz hücre dizileri ise zamanlama deseni olarak adlandırılır. Bu diziler, hücrelerin tam olarak nerede başlayıp bittiğini gösteren bir cetvel işlevi görür.
Kodun çevresindeki boş alan da yapının bir parçasıdır. Sessiz bölge adı verilen bu boşluk yeterince geniş bırakılmazsa okuyucu kodun nerede bittiğini ayırt edemez ve tarama başarısız olur.
Hücreler nasıl bite dönüşür?
Kodun tamamı küçük kare hücrelerden oluşan bir ızgaradır. Her hücre iki durumdan birindedir: koyu ya da açık. Bu ikili durum doğrudan bit değerine karşılık gelir.
Okuyucu ızgarayı yerleştirdikten sonra hücreleri belirli bir sıra ile tarar ve bit dizisini oluşturur. Bu diziler sekizerli gruplara ayrılarak karakterlere dönüştürülür.
Deseni yalnızca veri oluşturmaz. İçerikte kullanılan kodlama biçimi ve hata düzeltme düzeyi gibi bilgiler de ayrı bir alanda saklanır; okuyucu önce bunları okur, sonra geri kalanı çözer.
Desene bakıldığında dağınık görünen siyah beyaz dağılımın bir nedeni daha vardır. Aynı renkten büyük blokların oluşmaması için veriye maskeleme adı verilen bir işlem uygulanır. Bu işlem, okumayı zorlaştıracak geniş düz alanları kırar ve deseni dengeler.
Yırtık bir kod neden hala okunur?
Kare kodların en dikkat çeken özelliği, bir bölümü zarar görmüş olsa bile okunabilmesidir. Bunun nedeni içeriğe eklenen hata düzeltme verisidir.
Kod oluşturulurken asıl bilgiye ek olarak yedek bilgi hesaplanır ve desene yerleştirilir. Okuma sırasında eksik ya da bozuk hücreler bu yedekten yeniden üretilebilir.
Hata düzeltme farklı düzeylerde ayarlanabilir. Yüksek düzey daha dayanıklı bir kod verir ama aynı bilgi için daha fazla hücre gerektirir; kod büyür ve yoğunlaşır.
Boyut, kapasite ve okunabilirlik
Kare kodlar farklı boyutlarda üretilir. Boyut büyüdükçe hücre sayısı artar ve daha fazla veri saklanabilir. Ancak aynı fiziksel alana daha çok hücre sığdırmak, her hücreyi küçültür.
Hücreler kamera çözünürlüğüne göre fazla küçüldüğünde okuma zorlaşır. Bu yüzden pratikte kısa içerik kullanmak, kodu hem küçük hem güvenilir tutar.
Basım kalitesi de belirleyicidir. Yeterli beyaz boşluk bırakılmayan, düşük kontrastla basılan ya da parlak yüzeye yerleştirilen kodlar okunma sorunları yaşatır.
Uzun adresleri kısaltmak yaygın bir çözümdür. Daha az karakter, daha az hücre ve daha okunaklı bir kod anlamına gelir. Ancak kısaltma, kodun nereye yönlendirdiğini görmeyi zorlaştırdığı için güvenlik açısından ayrı bir dikkat gerektirir.
Gözün okuyamadığı bir bilgi
Bu teknolojinin en önemli güvenlik zaafı, insanın kodun içeriğini önceden göremediğidir. Desen bir adres taşıyabilir ve o adresin nereye gittiği okunmadan anlaşılmaz.
Bu nedenle kameranın gösterdiği önizlemeyi okumadan ilerlememek temel bir alışkanlık olmalıdır. Beklenmedik bir adres, tanıdık bir isme benzetilmiş uzantılar ya da hemen bilgi isteyen sayfalar dikkat edilmesi gereken işaretlerdir.
Kamuya açık alanlarda kodun üzerine sonradan başka bir etiket yapıştırılmış olabilir. Yüzeyin kabarık ya da farklı görünmesi basit ama işe yarar bir uyarıdır.
Basit bir fikrin dayanıklılığı
Kare kodun başarısı karmaşıklığından değil, sadeliğinden gelir. Konum işaretleri kodu bulur, zamanlama desenleri ızgarayı hizalar, hata düzeltme eksikleri tamamlar.
Bu üç fikir bir araya geldiğinde, buruşmuş bir kağıttan ya da eğik tutulan bir ekrandan bile bilgi güvenle okunabilir. Sıradan görünen o kare desen, aslında dayanıklılık üzerine kurulmuş özenli bir tasarımın ürünüdür.