Süpermarket kasasında ürün fiyatını okutan kırmızı lazer ışığından, restoran masasında menü açmak için kameramızı doğrulttuğumuz siyah-beyaz karelere... Günlük hayatımızda her iki teknolojiyle de sürekli karşılaşıyoruz. Ancak çoğumuz bu iki sistemin arka planındaki devasa matematiksel ve optik mimari farkını gözden kaçırıyoruz.
Tek boyutlu (1D) geleneksel barkodlardan iki boyutlu (2D) QR kodlara geçiş, sadece basit bir görünüm veya biçim değişimi değildir. Bu dönüşüm; verinin depolanma aksından optik tarama metodolojisine, matris geometrisinden hata onarım algoritmalarına kadar uzanan kapsamlı bir mühendislik devrimidir.
1970'li yıllardan itibaren küresel ticarette stok ve lojistik standardı haline gelen 1D Barkodlar (EAN-13, UPC, Code 128 vb.), veriyi yalnızca tek bir eksende (yatay düzlemde) dizilmiş paralel siyah çizgiler ve beyaz boşluklar aracılığıyla saklar.
Fiziksel Okuma Mekanizması: Lazer tarayıcı veya LED okuyucu, barkod yüzeyine görünür kırmızı ışık hüzmesi gönderir. Siyah çizgiler bu ışığı emerken, beyaz boşluklar ışığı geri yansıtır. Sensörün bünyesindeki fotodiyot, yansıyan bu foton yoğunluğunu milisaniyeler seviyesinde genliği değişen analog bir voltaj sinyaline dönüştürür. Analog signal, bir karşılaştırıcı (comparator) devresiyle dijital 1 ve 0 dizilerine tercüme edilir.
Geometrik Veri Yoğunluğu ve Kapasite: 1D barkodlarda çizgi kalınlıkları ve aralık oranları veriyi tanımlar. Veri kapasitesi fiziksel genişlikle doğrudan sınırlıdır; çizgi sayısı arttıkça barkodun eni uzar ve tarayıcı optiğinin görüş alanından çıkar. Bu nedenle EAN-13 gibi standartlar yalnızca 13 basamaklı bir dizin numarası taşıyabilir. Kodun içine ürünün ismi, üretim tarihi veya içeriği yazılamaz; barkod yalnızca uzak bir veri tabanındaki kaydı çağıran bir "indeks anahtarı" işlevi görür.
Sıkı Optik Hizalama Zorunluluğu: 1D tarayıcıların ışık çizgisi, barkod çizgilerini dik açıyla kesmek zorundadır. Aksi takdirde modülasyon oranı bozulur ve sensör çizgilerin gerçek genişlik oranlarını okuyamaz.
1994 yılında Denso Wave mühendisi Masahiro Hara tarafından otomotiv montaj hatlarındaki yüksek hızlı parça takibi ihtiyacını karşılamak üzere geliştirilen QR Kod (Quick Response), veriyi hem X (yatay) hem de Y (dikey) ekseninde dizilmiş kare modüller (piksel kümesi) halinde saklar.
Yüksek Veri Yoğunluğu ve İki Boyutlu Alan Kullanımı: Kare matris yapısı, bilginin alan bazlı (area-density) paketlenmesine olanak tanır. En büyük versiyon olan Version 40 (177x177 modül) yapısı sayesinde tek bir QR kod içine 7.089 sayısal karakter, 4.296 alfanümerik karakter veya 2.953 bayt ikili (binary) veri sığdırılabilir. Bu durum, veri tabanı bağlantısı olmadan dahi tam bir belgenin, şifrelenmiş kimlik doğrulama anahtarının veya karmaşık URL dizilimlerinin kodun bünyesinde taşınabilmesini sağlar.
Görüntü İşleme Tabanlı Algılama ve 360 Derece Tespiti: QR kodlar lazerle değil, CMOS/CCD kamera sensörleriyle taranır. Kodun üç köşesinde bulunan büyük kare yapılar (Finder Patterns / Bulucu Desenler), 1:1:3:1:1 oranında siyah-beyaz modül genişliğine sahiptir. Kamera görüntüyü işlerken bu benzersiz matematiksel oranı tarayarak QR kodun konumunu, duruş açısını ve perspektif bozulmalarını milisaniyeler içerisinde saptar. Böylece kod baş aşağı veya eğik tutulsa dahi açı dönüşüm matrisi (affine transformation) uygulanarak veri eksiksiz çözümlenir.
Hizalama ve Zamanlama Desenleri (Alignment & Timing Patterns): Kod boyutu büyüdükçe yüzeydeki eğilmeleri veya lens bükülmelerini kompanse etmek için iç alanlara daha küçük Hizalama Desenleri (Alignment Patterns) yerleştirilir. Siyah-beyaz sıralı piksellerden oluşan Zamanlama Çizgileri (Timing Patterns) ise matrisin piksel ızgara koordinatlarını doğrulamak için kullanılır.
QR kodların endüstriyel sahalarda ve zorlu ortam şartlarında kusursuz çalışmasını sağlayan en kritik mühendislik harikası, Galois Alanı GF(2⁸) üzerinde işletilen Reed-Solomon Hata Düzeltme Algoritmasıdır.
Reed-Solomon algoritması, veriyi işlerken bayt dizilimlerini yüksek dereceli polinomların katsayıları olarak kabul eder. Veri paketine ek olarak matematiksel yedeklilik (redundancy) sağlayan eşlik baytları (parity bytes) türetilir.
Oluşturulan sistemde $t$ sayıda hatalı veya kayıp baytı düzeltebilmek için koda $2t$ sayıda eşlik baytı eklenmesi gerekir.
Sendrom Hesaplama (Syndrome Calculation): Tarayıcı kameradan gelen veri polinomu, Galois Alanı tanım katsayılarına bölünür. Eğer kalan sıfır ise veride hata yoktur. Kalan sıfırdan farklıysa bir sendrom matrisi oluşur.
Hata Konumu ve Genliği Tespiti: Berlekamp-Massey veya Chien Arama algoritmaları kullanılarak kod üzerindeki hangi piksellerin (baytların) bozulduğu ve bu piksellerin orijinalde hangi değere sahip olması gerektiği soyut cebir denklemleriyle hesaplanır.
Level L (Low): Verinin yaklaşık %7'lik fiziksel kaybını tolere eder. En az yedeklik içerdiğinden en küçük boyutlu QR kodları üretir.
Level M (Medium): %15 seviyesindeki hasarları onarır. Endüstriyel etiketlerde standart olarak tercih edilir.
Level Q (Quartile): %25 seviyesine kadar kayıpları kompanse edebilir.
Level H (High): Verinin %30'u fiziken yok edilse, üzeri çizilse veya çamurla kaplansa dahi orijinal verinin %100 eksiksiz rekonstrüksiyonunu sağlar.
Pazarlama ve Logo Entegrasyon Sırrı:
QR kodların tam ortasına şirket logolarının yerleştirilebilmesi bu matematiksel tolerans sayesindedir. Kod oluşturulurken hata seviyesi Level H olarak ayarlanır. Ardından ortadaki pikseller silinerek yerine logo basılır. Algoritma, silinen bu orta alanı "fiziksel hasar" olarak algılar ve Reed-Solomon denklemleri sayesinde eksik veriyi kodun geri kalanındaki eşlik baytlarından hesaplayarak eksiksiz okur.
1D Barkodlar, optik yansıma mantığıyla çalışan ve veriyi harici bir merkezi sunucudan çağırmaya yarayan birer "dijital etiket"tir.
2D QR Kodlar ise; iki eksenli matris geometrisi, görüntü işleme tabanlı yön bulma algoritmaları ve soyut cebire dayanan Reed-Solomon hata düzeltme mekanizmalarıyla donatılmış, veriyi hem kendi bünyesinde saklayan hem de dış etkenlere karşı kendi kendini onarabilen bağımsız birer bilgi depolama sistemidir.