Kode QR di Iklan Video Butuh Sepertiga Layar. Yang Diberikan Cuma Pojok

oleh Tim KoloQRRiset

Televisi yang dipasang di dinding ruang keluarga sedang menayangkan iklan olahraga: di sebelah kanan foto para pemain sepak bola berangkulan di bawah lampu sorot stadion, dan di sebelah kiri judul "Join a Team. Be Part of Something Greater." di atas baris "Scan to find teams" dan sebuah kode QR bundar berwarna kuning dan hitam.

Ponsel yang membaca kode QR dari televisi tidak sedang melihat karya desain Anda. Ia melihat beberapa puluh piksel dari satu bingkai kamera, dan berapa banyak yang didapatnya ditentukan oleh satu hal saja: sudut yang ditempati kode itu dilihat dari sofa. Kami membangun perangkat uji yang menjalankan seluruh rantai - master 1080p, kompresi, kamera genggam yang sedikit miring pada jarak menonton yang nyata, sapuan gerak - lalu mengukur di titik mana tingkat pembacaan runtuh. Pada jarak ruang keluarga yang normal, kode setinggi seperlima layar berhasil didekode pada 6% percobaan. Seperempat tinggi layar: 95%. Pojok yang dipakai setiap iklan video menghasilkan nol, dan tidak ada durasi tayang, koreksi kesalahan, atau kreativitas yang bisa memperbaikinya, karena kegagalannya terjadi sebelum bingkai pertama sempat dibaca.

Poin Utama

  • Kami mengukur batas bawah pembacaan di 2,5 piksel per modul untuk citra diam, terkompresi, dan sedikit miring, dengan keberhasilan sporadis pertama di 2,0 dan mayoritas sudah di 2,25. Dokumentasi ML Kit milik Google sendiri meminta setidaknya 2 piksel per modul, jadi perangkat uji dan vendor sepakat dalam selisih seperempat piksel.
  • Ukuran layar saling meniadakan. Karena orang duduk lebih jauh dari televisi besar, jawabannya adalah pecahan dari tinggi layar dan bukan ukuran dalam sentimeter, dan pecahan itu sama pada televisi 43 inci, 77 inci, maupun laptop.
  • Pada jarak ruang keluarga yang normal - televisi 55 inci sekitar 2,7 m - kode setinggi 20% layar terbaca 6% dari waktu, 25% terbaca 95%, dan 30% terbaca setiap kali. Di bawah 15% tidak ada yang terbaca pada semua jarak yang kami uji.
  • Kompresi nyaris tidak berpengaruh dan gerakan berpengaruh besar sekali. Memampatkan master ke kualitas JPEG 40 mengubah tingkat pembacaan satu atau dua poin; sapuan setengah piksel kamera selama satu eksposur menjatuhkan kode yang tadinya terbaca 99% menjadi nol.
  • Dua hal yang dilakukan iklan terhadap kodenya sendiri tanpa disadari adalah menambahkan parameter UTM dan menaikkan koreksi kesalahan. Keduanya menambah modul pada ukuran fisik yang sama. String pelacakan lengkap membawa sebuah kode dari 100% ke 48%; tingkat koreksi H membawa kode yang sama dari 99% ke 74%.

Kode di Pojok Gagal Sebelum Ada yang Meraih Ponsel

Penempatan standarnya adalah pojok kanan bawah kartu penutup, diukur agar duduk sopan di samping logo dan baris legal - delapan sampai dua belas persen tinggi layar, tampil selama tiga sampai lima detik yang dimiliki kartu penutup. Ini diperlakukan sebagai keputusan tata letak, diperdebatkan dalam istilah kepadatan dan hierarki merek, lalu disetujui oleh orang-orang yang semuanya berhasil memindai kode itu di monitor ruang edit.

Ini bukan keputusan tata letak. Ini keputusan resolusi, dan aritmetika di baliknya sudah selesai sebelum siapa pun di ruangan itu punya pendapat. Ponsel yang memotret televisi merekam seluruh ruangan; televisi adalah sebagian kecil dari bingkai itu, kode adalah sebagian kecil dari televisi, dan kisi kode itu kemudian dibagi menjadi 25 sampai 53 kotak per sisi. Yang tersisa di ujung rantai adalah segelintir piksel per kotak, dan di bawah segelintir tertentu tidak ada yang terdekode sama sekali - tidak pelan-pelan, tidak kadang-kadang, tidak juga dengan aplikasi yang lebih baik.

Alasan hal ini terus terlewat adalah bahwa setiap pemeriksaan yang dilakukan selama produksi dilakukan pada jarak yang salah. Kode dipindai di monitor edit sejauh satu lengan, di tautan review pada laptop dari 60 cm, dan di ponsel yang dipegang 30 cm dari ponsel lain. Secara geometris ketiganya sama sekali tidak menyerupai sofa, dan ketiganya lulus. Satu-satunya kondisi tempat iklan itu benar-benar akan ditonton adalah kondisi yang tidak diuji siapa pun, karena mengujinya berarti berdiri di ruang keluarga.

Jadi tulisan ini menghitung aritmetikanya lalu mengukurnya. Pertanyaannya bukan apakah kode QR pantas ada di iklan video - itu soal selera, dan jawabannya mungkin bergantung pada mereknya. Pertanyaannya adalah seberapa besar sebuah kode harus dibuat agar perdebatan soal selera itu layak dimulai sama sekali.

Apa yang Kami Ukur, dan Apa yang Tidak Bisa Dikatakannya

Perangkat uji menjalankan seluruh rantai secara perangkat lunak. Sebuah kode digambar pada 12 piksel per modul dengan zona sunyi empat modul yang ditetapkan ISO/IEC 18004, diskalakan ke dalam master 1080p pada ukuran yang akan ditempatinya di iklan jadi, dikompresi, diberi bidang, diputar keluar dari sudut siku, dicuplik ulang ke jumlah piksel yang akan dikumpulkan kamera ponsel darinya pada jarak menonton tertentu, disapu untuk mensimulasikan gerakan selama eksposur, lalu diserahkan ke dekoder. Setiap angka di bawah adalah proporsi percobaan yang berhasil didekode.

Setiap sel berisi 216 percobaan: dua belas muatan berbeda, enam sudut antara satu dan sebelas derajat dari siku, dan tiga variasi satu piksel pada ukuran tangkapan. Jumlah itu ada karena satu kesalahan yang layak diakui. Versi pertama perangkat uji memberi dekoder citra yang sempurna siku dan sejajar kisi, dan dekoder itu dengan riang membaca kode pada satu piksel per modul - hasil yang merupakan aritmetika sungguhan sekaligus omong kosong belaka, karena ia mengukur kebetulan pencuplikan yang tidak akan pernah ditiru oleh tangan yang memegang ponsel. Rotasilah yang menempatkan setiap modul pada fase subpiksel sembarang, dan itu menggeser batas bawah lebih dari dua kali lipat.

Dekodernya Sengaja Dipilih yang Lemah

Dekodernya adalah jsQR, porting JavaScript dari inti ZXing - keluarga dekoder yang sama, yang binarizer-nya kami baca di kode sumber untuk pengukuran kontras. Framework Vision milik Apple dan ML Kit milik Google adalah yang benar-benar membaca sebagian besar kode, keduanya tertutup, dan angka yang diambil dari salah satunya adalah angka yang tidak bisa diperiksa pembaca mana pun. jsQR juga, hampir pasti, yang paling lemah di antara ketiganya: tanpa tahap pembelajaran mesin, tanpa akumulasi banyak bingkai, tanpa super-resolusi.

Karena itu ada satu kalibrasi yang layak disebut. Batas bawah kami pada citra bersih keluar di 2,5 piksel per modul, dan dokumentasi pemindaian kode batang ML Kit meminta kode yang "unit bermakna terkecilnya" setidaknya "selebar 2 piksel, dan untuk kode dua dimensi setinggi 2 piksel". Dekoder yang lebih lemah berhenti seperempat piksel di atas minimum yang diterbitkan vendor kira-kira adalah kesepakatan terbaik yang bisa diharapkan dari konstruksi semacam ini, dan itulah alasan tabel ukuran di bawah sebaiknya dibaca sebagai kira-kira benar, bukan sebagai pesimistis sekian kali lipat.

Apa yang Ditinggalkan Perangkat Uji

  • Ponsel sungguhan. Tidak ada iPhone maupun Android yang diarahkan ke televisi untuk pengukuran ini. Stabilisasi optik, penggabungan banyak bingkai, dan kedua dekoder tertutup itu semuanya bekerja menguntungkan pembaca, dan tak satu pun dimodelkan.
  • Pengodean video antarbingkai. Kompresi di sini adalah JPEG pada satu bingkai, yang mewakili bingkai intra. Kode diam di atas bidikan diam nyaris tidak memakan biaya pada encoder sungguhan setelah bingkai pertama; kode yang ditempel di atas gambar bergerak dikodekan ulang terus-menerus. Karena kompresi ternyata nyaris tidak relevan pada kedua kasus, hal ini kurang berarti dibanding kelihatannya.
  • Panel dan sensor yang beradu. Kamera yang memotret layar bisa menghasilkan moiré, dan master 24p yang dipindahkan ke panel 60 Hz lalu dicuplik oleh rana bergulir bisa menghasilkan pita. Keduanya nyata, keduanya merugikan, dan tidak satu pun disimulasikan.
  • Silau, cahaya ruangan, dan menonton dari samping. Ketiganya mengurangi, dan ketiganya adalah bahan tulisan tentang kontras, bukan tulisan ini.
  • Manusia. Berapa lama seseorang menyadari ada kode, menemukan ponselnya, dan mengarahkannya bukanlah sesuatu yang bisa diukur perangkat uji. Bagian tentang itu di bawah ditandai sebagai perkiraan.

Semua kelalaian itu berjalan ke arah yang sama kecuali yang pertama: perangkat uji lebih keras terhadap kode daripada sebuah foto diam, dan lebih longgar daripada ruang keluarga. Ringkasan jujurnya, angka-angka ini menunjukkan letak jurangnya, dan protokol sepuluh menit di akhir tulisan inilah cara mengetahui di sisi mana kampanye Anda berada.

Batas Bawahnya Dua Setengah Piksel per Modul

Piksel per modul adalah jumlah piksel kamera yang jatuh pada satu kotak di kisi sebuah kode QR, dan itulah besaran yang dipakai membayar semua variabel lain dalam sebuah pemindaian. Kontras, keburaman, kompresi, pelebaran titik, dan derau kamera pada akhirnya sama-sama mengurangi satu hal: keyakinan dekoder dalam menyatakan di sisi mana dari batas hitam-putih sebuah kotak jatuh. Di bawah kerapatan pencuplikan tertentu, tidak ada lagi keyakinan yang tersisa untuk dibelanjakan.

Piksel per modulBersihTerkompresi (JPEG q40)
1,500%0%
1,750%0%
2,008%7%
2,2569%68%
2,5099%100%
2,75100%100%
3,00100%100%
Tingkat pembacaan atas 216 percobaan per sel, satu sampai sebelas derajat dari siku. Jurangnya kurang dari setengah piksel lebarnya: 2,0 piksel per modul adalah kegagalan, 2,5 adalah kepastian.

Dua hal dalam tabel itu lebih berharga daripada batas bawahnya sendiri. Yang pertama adalah betapa sempitnya transisi itu. Tidak ada ekor panjang berisi kode marginal yang tetap terpindai oleh pengguna yang sabar: antara 2,0 dan 2,5 piksel per modul tingkat pembacaan melompat dari 8% ke 99%, artinya sebuah kode punya kerapatan pencuplikan atau tidak punya, dan jarak antara kedua keadaan itu adalah seperempat piksel per modul.

Yang kedua adalah kolom kedua. Memampatkan master ke kualitas JPEG 40 - jelas terlihat rusak, jauh di bawah apa pun yang akan dikirim stasiun televisi atau platform - mengubah hasilnya satu atau dua poin ke arah mana pun dan tidak pernah menggeser jurangnya. Ini perlu dikatakan terang-terangan, karena "kompresi video memakan kode QR" adalah penjelasan standar mengapa kode gagal di televisi, dan pada pengukuran ini penjelasan itu sekadar tidak benar. Bukan kompresi yang membunuh kode-kode ini. Pencuplikanlah pelakunya.

Konsekuensinya, seluruh persoalan mengerucut ke satu pertanyaan: berapa piksel kamera yang diterima kode itu? Itu bukan sifat karya desain, format berkas, atau encoder. Itu sifat dari sudut yang ditempati kode di mata penonton, yang berarti geometri, dan geometri punya kesopanan untuk bisa diramalkan.

Ukuran Layar Saling Meniadakan dan Hanya Sudut yang Tersisa

Kamera ponsel adalah proyeksi rektilinear, artinya jarak melintang pada jangkauan yang diketahui berubah menjadi piksel lewat satu konstanta tunggal. Untuk bidang pandang horizontal 70 derajat - setara 26 mm adalah 69,4 derajat, dan kamera utama ponsel sudah bertahun-tahun keluar dalam selisih satu derajat dari situ - konstanta itu bernilai 1.371 piksel per radian pada bingkai selebar 1920 piksel. Jadi seluruh rantai mengerut menjadi satu baris aritmetika:

piksel per modul = 1371 × f ÷ (k × N), dengan f adalah tinggi kode sebagai pecahan dari tinggi layar, k adalah jarak menonton yang dinyatakan dalam satuan tinggi layar, dan N adalah jumlah modul pada sisi kode termasuk zona sunyi empat modulnya.

Yang menarik dari rumus itu adalah apa yang tidak ada di dalamnya. Tidak ada ukuran layar dan tidak ada jarak dalam meter, hanya rasio keduanya. Itu bukan penyederhanaan, itu fisikanya yang sebenarnya: televisi 77 inci menempati sudut yang sama dari ujung ruangan besar seperti televisi 43 inci dari ruangan kecil, dan kamera tidak tahu serta tidak peduli sedang melihat yang mana. Jawaban atas "seberapa besar kode itu harus dibuat" karena itu berupa persentase layar, dan persentase yang sama berlaku di mana pun.

Artinya juga k bisa ditetapkan dari rekomendasi sudut pandang yang sudah diterbitkan, bukan ditebak. THX merekomendasikan sudut pandang horizontal sekitar 40 derajat, yang untuk layar 16:9 menghasilkan jarak 2,4 tinggi layar. Rekomendasi SMPTE sebesar 30 derajat menghasilkan 3,3 tinggi layar. Keduanya rekomendasi untuk orang yang peduli kualitas gambar; ruang keluarga biasa duduk lebih jauh daripada keduanya, dan itulah sebabnya tabel di bawah mencapai empat tinggi layar - televisi 55 inci sekitar 2,7 m.

Angka 1920 dalam konstanta itu layak diberi catatan tersendiri, karena itulah asumsi yang menguntungkan. Aliran analisis adalah buffer video beresolusi rendah tempat pendeteksi kode di ponsel benar-benar bekerja, dan itu bukan foto beresolusi penuh yang sebenarnya mampu diambil kameranya. Dokumentasi ML Kit milik Google menyarankan memberinya "1280x720 atau 1920x1080", dan mencatat bahwa turun di bawah itu hanya masuk akal jika "kode batang diharuskan mengisi sebagian besar citra masukan". Semua yang di bawah mengambil yang lebih baik dari kedua angka itu. Pada 1280 x 720, setiap angka di tabel berikutnya memburuk sepertiga.

Seberapa Besar Sebenarnya Kode Itu Harus Dibuat

Aritmetikanya sudah beres, sekarang pengukurannya. Setiap baris adalah tinggi kode sebagai persentase tinggi layar; setiap pasang kolom adalah jarak menonton dalam satuan tinggi layar, dengan kerapatan pencuplikan yang dihasilkan dan tingkat pembacaan yang keluar dari perangkat uji. Muatannya adalah URL 25 karakter pada koreksi kesalahan M, yaitu versi 3 - 29 modul, atau 37 pada sisinya bersama zona sunyi. Semuanya diam, terkompresi, dan satu sampai sebelas derajat dari siku.

Tinggi kode (% layar)Di master 1080pk = 2 px/modulk = 2 tingkatk = 3 px/modulk = 3 tingkatk = 4 px/modulk = 4 tingkat
8%86 px1,490%1,000%0,730%
10%108 px1,862%1,240%0,920%
12,5%135 px2,3282%1,540%1,160%
15%162 px2,78100%1,864%1,380%
17,5%189 px3,24100%2,1670%1,620%
20%216 px3,70100%2,4691%1,866%
25%270 px4,62100%3,0899%2,3295%
30%324 px5,57100%3,70100%2,78100%
35%378 px6,49100%4,32100%3,24100%
216 percobaan pembacaan per sel. k adalah jarak menonton dalam satuan tinggi layar: k = 2,4 adalah rekomendasi THX, k = 3,3 rekomendasi SMPTE, dan k = 4 ruang keluarga biasa - televisi 55 inci pada 2,7 m. Kolom tengah adalah ukuran kode di master 1080p, dan itu tidak pernah menjadi kendala yang menentukan.

Bacalah kolom k = 4, karena di situlah kebanyakan orang duduk. Kode setinggi seperlima layar terbaca enam kali dari seratus. Kode setinggi seperempat layar terbaca sembilan puluh lima kali dari seratus. Seluruh rentang berguna dari keputusan desain ini ada di antara 20% dan 30% tinggi layar, dan penempatan konvensional di pojok bukan sekadar berada di ujung bawah rentang itu - ia keluar dari tabel sebesar dua sampai tiga kali lipat.

Perhatikan juga apa yang dilakukan kolom master, yaitu tidak apa-apa. Kode setinggi 20% layar berukuran 216 piksel pada berkas 1080p, nyaman di atas batas bawah; kode itu tidak dihancurkan di ruang edit, di pewarnaan, atau di pengodean. Ia dihancurkan oleh jarak antara sofa dan televisi, dan itu besaran yang tidak bisa diperbaiki proses pascaproduksi mana pun. Ini argumen yang sama dengan yang dibuat oleh menyesuaikan ukuran kode cetak dengan jarak pemindaiannya untuk kertas, dan di sini lebih ketat karena penonton tidak bisa berjalan mendekati layar.

Konsekuensi kolom k = 2 juga layak dimiliki, karena persis menjelaskan ilusi ruang edit. Pada dua tinggi layar - televisi 55 inci pada 1,4 m, yang menempati sudut kira-kira sebesar monitor meja sejauh satu lengan - kode setinggi 12,5% layar terbaca 82% dari waktu. Itulah pemeriksaan yang dilakukan semua orang, dan pemeriksaan itu lulus. Kerapatan pencuplikan turun berbanding lurus dengan jarak, dan sofa berada satu sampai dua meter di belakang tempat pengujian dilakukan.

Gerakan Menuntaskannya Lebih Cepat daripada Ukuran

Kompresi ternyata tidak penting dan ukuran ternyata sangat penting. Gerakan lebih buruk daripada keduanya. Perangkat uji menerapkan sapuan linear pada sensor - konvolusi kotak searah perpindahan, yang memang begitulah gerakan selama eksposur memperlakukan sebuah bingkai, alih-alih keburaman Gauss simetris yang akan diterapkan fungsi blur - lalu mengukur seberapa jauh kode boleh bergerak melintasi sensor selama satu eksposur sebelum tingkat pembacaan ambruk.

Tinggi kode (% layar)Piksel per modulDiam0,25 px0,5 px0,75 px1,0 px1,5 px
25%3,0899%86%0%0%0%0%
30%3,70100%97%0%0%0%0%
40%4,95100%100%100%0%0%0%
60%7,41100%100%100%100%1%0%
Pada k = 3, terkompresi. Judul kolom adalah jarak yang ditempuh kode melintasi sensor kamera selama satu eksposur. Pada keempat baris, keruntuhannya jatuh di titik yang sama bila diukur dalam satuan kode itu sendiri - sekitar seperdelapan modul - dan itulah sebabnya kode yang lebih besar membeli toleransi yang nyata, bukan ilusinya.

Toleransinya sekitar seperdelapan modul, dan dalam piksel kamera itu antara seperempat piksel dan satu piksel bergantung seberapa besar kodenya. Layak diterjemahkan menjadi sesuatu yang bisa ditindaklanjuti sutradara. Satu piksel kamera adalah 0,042 derajat busur. Pada eksposur 1/60 detik - ponsel di ruangan remang yang mengukur cahaya dari layar terang - seperempat piksel berarti kecepatan sudut sekitar 0,6 derajat per detik. Itu tangan yang dipegang cukup diam, dan itu bukan tangan yang menjulur dari sofa.

Diterapkan pada gerakan kode itu sendiri di layar, aritmetika yang sama terasa brutal. Pada tiga tinggi layar, satu tinggi layar setara 457 piksel kamera, jadi kode yang melayang melintasi layar dengan eksposur 1/60 detik punya anggaran sekitar sepertiga puluh tinggi layar per detik. Kode yang meluncur masuk dengan anggun selama dua detik, dorongan kamera pelan ke kartu penutup, kamera genggam di belakang kode yang ditempel, pantulan, putaran, pembesaran: semuanya satu sampai dua orde besaran di luar anggaran itu selama seluruh gerakan berlangsung. Kode itu hanya hiasan sampai ia berhenti.

Mengapa Tingkat Pembacaan Adalah Peluang dan Tabel Ukuran Bukan

Ada satu pembedaan yang bersembunyi di kedua tabel itu dan lebih penting daripada keduanya. Kode yang terlalu kecil gagal secara deterministik: setiap bingkai adalah bingkai yang sama, tiga puluh kali per detik, dan tidak satu pun terdekode. Kode yang cukup besar tetapi bergerak gagal secara acak: sebagian besar bingkai tersapu, sebagian tidak, dan pemindaian berhasil pada detik ketika satu bingkai bersih tiba.

Jadi durasi tayang bukan solusi serbaguna, ia solusi untuk tepat satu jenis kegagalan. Tiga detik tambahan membeli sembilan puluh percobaan lagi melawan masalah gerakan dan sama sekali tidak membeli apa pun melawan masalah pencuplikan. Inilah hal paling berguna dalam tulisan ini bagi siapa pun yang menyusun brief produksi: kalau kodenya cukup besar dan diam, ia akan terbaca hampir seketika; kalau terlalu kecil, ia tidak akan terbaca meski Anda biarkan tayang sepanjang jeda iklan.

Dua Cara Iklan Mengecilkan Kodenya Sendiri Tanpa Sadar

Semua di atas mengandaikan URL 25 karakter pada koreksi kesalahan M. Kedua andaian itu rutin dilanggar, dan dilanggar oleh orang yang sedang berusaha membantu, dan keduanya rusak dengan cara yang sama: mereka menambah modul, kode tetap seukuran itu di layar, dan setiap modul jadi lebih kecil.

String Pelacakan

URL kampanye datang dari agensi media dengan parameter pengukuran menempel padanya, karena begitulah kampanye diatribusikan. Tidak ada yang melihat apa akibatnya bagi kisi.

URL-nyaKarakterVersiModulPiksel per modulTingkat pembacaan
Pengalihan pendek di domain milik Anda122254,15100%
URL pendek dengan skema ditulis lengkap273293,70100%
URL kampanye yang mudah dibaca464333,3493%
URL yang sama dengan parameter UTM936412,8077%
URL yang sama dengan string pelacakan lengkap1579532,2548%
Kelimanya pada 30% tinggi layar, k = 3, diam dan terkompresi - kode berukuran murah hati yang melewati setiap ambang dalam tulisan ini. Yang berubah hanyalah muatannya. 60 percobaan per baris.

String pelacakan lengkap memangkas separuh tingkat pembacaan kode yang selebihnya sudah berukuran benar. Ia melakukannya tepat pada saat tim pemasaran paling berusaha keras mengukur kampanye, yang menjadikannya kandidat kuat sebagai pola paling merugikan diri sendiri di seluruh topik ini. Perbaikannya bukan melepaskan atribusi: perbaikannya adalah menaruh jalur pendek di domain milik Anda di depan parameter itu dan menempelkannya di pengalihan, tempat mereka tidak berbiaya apa pun. Berapa biaya sebenarnya sebuah pengalihan sewaan sepanjang umur kampanye adalah argumen terpisah, dan ia bermuara pada rekomendasi yang sama.

Menaikkan Koreksi Kesalahan

Refleks yang satunya adalah menaikkan tingkat koreksi kesalahan, dengan teori bahwa situasi yang lebih sulit dibaca menuntut lebih banyak redundansi. Itu tuas yang keliru dan bahkan merugikan, karena alasan yang sama seperti pada kontras rendah: ia menambah redundansi dengan menambah modul, dan modul itulah yang langka.

Koreksi kesalahanVersiModulTingkat pada 25% layarTingkat pada 30% layar
L225100%100%
M32999%100%
Q32999%100%
H43374%92%
Muatan yang sama pada setiap tingkat, pada k = 3, diam dan terkompresi. L dan M tidak memakan biaya apa pun, sedangkan H memakan 25 poin pada ukuran yang akan dipakai kebanyakan iklan, karena ia membelanjakan satu versi penuh untuk redundansi yang tidak akan pernah dibutuhkan layar.

H ada untuk kode yang kotor, sobek, tertimpa cetakan, atau tertutup sebagian oleh logo. Kode di televisi bukan salah satu pun dari itu - ia dikirim sempurna piksel demi piksel lalu dicuplik kurang, dan pencuplikan kurang bukan kerusakan yang bisa diperbaiki blok koreksi kesalahan, karena ia mencegah modul terbaca sejak awal. Pakai L atau M di layar dan belanjakan modul yang Anda hemat untuk memperbesar tiap modulnya. Pertukaran lengkap antara kapasitas pemulihan dan ukuran modul berlaku di sini tanpa perubahan; layar kebetulan berada di ujung tempat redundansi paling tidak berharga.

Waktu Adalah Anggaran yang Tak Pernah Dicatat Siapa Pun

Bagian ini adalah perkiraan, bukan pengukuran, dan itu layak dikatakan sebelum angkanya, bukan sesudah. Tidak ada apa pun di perangkat uji yang bisa mengukur berapa lama seseorang bereaksi terhadap televisi, dan studi itu tidak kami lakukan.

Urutan yang harus diselesaikan penonton tidaklah pendek. Menyadari ada kode dan memutuskan bahwa itu layak ditindaklanjuti memakan satu sampai dua detik. Mengambil dan membuka kunci ponsel, dua sampai empat. Sampai ke aplikasi kamera, satu sampai tiga lagi, lebih lama kalau ponselnya terbuka pada apa pun yang terakhir dibuka. Membingkai televisi, membiarkan fokus otomatis mantap, dan diam, dua sampai empat lagi. Totalnya enam sampai tiga belas detik dari nol, melawan kartu penutup yang biasanya tampil tiga sampai lima detik.

Ada satu hal yang benar-benar meringankan dan itu pantas diakui: sebagian besar televisi ditonton orang yang sudah memegang ponsel, yang menghapus langkah mengambil dan hampir seluruh langkah membuka kunci. Agaknya itulah seluruh alasan seseorang mengira kode QR akan berhasil di televisi. Itu argumen kuat untuk keberadaan formatnya, dan bukan argumen untuk tiga detik, karena dua langkah terakhir - sampai ke kamera, lalu membidik dan diam - tidak dipersingkat oleh ponsel yang sudah ada di tangan.

Rekomendasi kami, dinyatakan sebagai pendapat sebagaimana adanya: delapan detik kode diam yang berukuran benar adalah minimum yang layak masuk brief, dan kalau kreatifnya tidak sanggup melepas delapan detik, berarti kreatifnya sudah memutuskan bahwa kode itu hiasan. Itu keputusan yang sah. Hanya saja tidak seharusnya diambil secara tidak sengaja lalu diukur sebagai tingkat pemindaian.

Iklan yang Semua Orang Ingat Justru Menuruti Aritmetikanya

Ada satu contoh tandingan yang terkenal untuk semua ini, dan ia terkenal justru karena melakukan persis semua yang direkomendasikan tulisan ini. Pada Februari 2022 Coinbase menayangkan iklan enam puluh detik di Super Bowl yang isinya tak lebih dari kode QR berganti warna yang memantul di layar hitam polos. Variety dan CNN meliputnya waktu itu, dan yang kedua memberitakan bagian yang diingat semua orang: laman tujuannya menerima trafik begitu besar sampai aplikasinya tumbang.

Sandingkan itu dengan tabel-tabel di atas. Kodenya besar, karena ia mendapat seluruh bingkai. Ia sendirian, jadi tidak ada yang bersaing memperebutkan perhatian penonton maupun bit milik encoder. Ia tampil enam puluh detik alih-alih empat, yang berarti sekitar 1.800 bingkai kamera bagi dekoder untuk menemukan satu yang bersih. Dan ia melayang pelan alih-alih memotong atau menskala, yang menahan kode bergerak tetap di dalam anggaran sapuan per eksposur, tempat gerakan cepat tidak muat.

Satu-satunya hal yang ia lakukan dan akan diperingatkan tulisan ini adalah pergantian warnanya, dan bahkan itu tidak senekat kelihatannya: paletnya tetap gelap di atas terang atau terang di atas gelap sepanjang waktu, alih-alih memasangkan dua nada tengah, dan itulah pembedaan yang sungguh-sungguh menentukan apakah kode berwarna bertahan di depan kamera. Yang tidak ia lakukan adalah menaruh kode kecil di pojok selama empat detik.

Kesimpulannya bukan bahwa setiap merek harus membeli enam puluh detik Super Bowl. Kesimpulannya, iklan yang selalu dikutip sebagai bukti bahwa kode QR berhasil di televisi adalah iklan yang membelanjakan seluruh anggaran kreatifnya untuk memenuhi tuntutan fisika. Dikutip sebagai preseden bagi kode di pojok kartu penutup, ia membuktikan kebalikan dari yang biasanya ingin dibuktikan orang dengannya.

Coba di Televisi Anda Sendiri dalam Sepuluh Menit

Semua angka di atas adalah angka untuk kamera simulasi dan dekoder yang lebih lemah daripada yang ada di saku orang. Angka yang penting bagi sebuah kampanye tertentu adalah angka yang dihasilkan berkas jadinya, di layar sungguhan, dari sofa sungguhan, dan itu bisa didapat dalam sepuluh menit.

  1. Putar Berkas yang Dikirim, Bukan Master-nya. Taruh deliverable yang sebenarnya di televisi yang sebenarnya - cast, muat dari flash disk, atau unggah sebagai video tak terdaftar di platform tujuannya. Meninjau master ProRes di monitor terkalibrasi adalah uji yang sudah pasti lulus dan tidak memberi tahu Anda apa pun.
  2. Duduklah di Tempat Orang Duduk, dan Catat Rasionya. Ukur jarak dari layar ke sofa, ukur tinggi layar, lalu bagi. Rasio itu adalah k di semua tabel di atas, dan itulah angka yang memungkinkan Anda membandingkan hasil Anda dengan tabel-tabel itu. Apa pun antara tiga dan empat setengah adalah ruangan biasa.
  3. Pindai dengan Dua Aplikasi Kamera Bawaan. Satu iOS, satu Android, memakai kamera bawaan alih-alih aplikasi pemindai. Aplikasi pemindai lebih toleran daripada yang bawaan dan akan meloloskan kode yang tidak bisa dibaca audiens Anda. Beri tiap ponsel lima detik, sebanyak yang diberikan kartu penutup.
  4. Lakukan dengan Cara yang Asal-asalan. Satu tangan, sambil bersandar malas, tanpa menumpu siku pada apa pun. Hasil yang hati-hati bukanlah hasilnya: seperempat piksel kamera gerakan selama satu eksposur sudah seluruh anggaran gerakan, dan menumpu lengan bernilai lebih dari itu.
  5. Jalankan Kontrolnya Sebelum Menyimpulkan Apa Pun. Berjalanlah mendekat dan pindai bingkai beku yang sama dari jarak satu meter. Kalau itu gagal, masalahnya kontras, zona sunyi, atau muatan, bukan ukuran, dan memperbesar kode tidak akan memperbaikinya.
  6. Naikkan 5% Sekali Langkah sampai Lulus Dua Kali, lalu Tambah Satu Langkah Lagi. Ekspor ulang dengan kode lima persen tinggi layar lebih besar dan ulangi sampai kedua ponsel memindainya dua kali berturut-turut dari sofa. Setelah itu tambah satu langkah lagi. Langkah terakhir itu adalah margin untuk ponsel, ruangan, dan penglihatan yang tidak tercakup dalam uji tadi.

Kalau jawaban yang kembali adalah bahwa kode itu butuh sepertiga layar, itulah jawaban yang sebenarnya, dan lebih baik memilikinya sebelum syuting daripada sesudah laporan kampanye.

Apa yang Sebaiknya Ditaruh di Iklan sebagai Gantinya

Rekomendasi penutup tulisan ini lebih sempit daripada judulnya. Kode QR di iklan video bukannya tidak berguna - ia mahal, dalam luas layar dan dalam detik, dan hampir setiap iklan yang memakainya menolak membayar kedua harga itu lalu menyalahkan formatnya.

  • Kalau memakai kode, beri ia seperempat sampai sepertiga tinggi layar dan delapan detik diam. Dalam praktiknya itu berarti kode adalah kartu penutupnya, bukan hiasan di atasnya. Inilah seluruh rekomendasinya; semua yang lain di sini adalah konsekuensinya.
  • Jaga muatan di bawah sekitar 25 karakter. Jalur pendek di domain milik Anda, dengan parameter pelacakan ditempelkan di pengalihan alih-alih di dalam kode. Ini lebih berharga daripada perubahan tunggal mana pun, karena ia membeli kembali modul tanpa mengorbankan apa pun.
  • Pakai koreksi kesalahan L atau M, bukan H. Di layar, kode dikirim tanpa cacat lalu dicuplik kurang, dan redundansi tidak membantu melawan pencuplikan kurang.
  • Jangan digerakkan, diskala, diputar, atau diluncurkan masuk. Gerakan punya anggaran jauh di bawah satu piksel kamera per eksposur, dan setiap animasi berada beberapa orde besaran di luarnya. Animasikan semua elemen lain di kartu itu.
  • Kalau iklannya kebanyakan akan ditonton di ponsel, jangan pakai kode sama sekali. Layar yang memutar iklan itu adalah layar yang harus membacanya, dan tidak ada perangkat kedua. Pakai format yang bisa disentuh yang disediakan platformnya.
  • Pertimbangkan URL pendek yang diucapkan sekaligus ditulis. Domain yang mudah diingat, dibacakan dan ditampilkan sebagai teks, tidak punya ukuran sudut minimum, bertahan terhadap gerakan, berfungsi di layar ponsel, dan tidak menuntut penonton memegang apa pun dengan diam. Konversinya per tayang lebih rendah dan kegagalannya tidak semutlak itu, dan untuk kartu penutup empat detik pertukaran itu biasanya menguntungkan.
  • Bioskop adalah pengecualian yang layak diketahui. Aritmetika yang sama, yang menggugurkan pojok televisi, justru murah hati di bioskop, tempat layar menempati sudut jauh lebih besar dari kursi mana pun. Kode yang di rumah tidak punya harapan bisa tampil sederhana di layar bioskop.

Satu catatan jujur tentang perkakas kami sendiri, karena tulisan ini baru saja merekomendasikan sesuatu yang tidak bisa dilakukannya. KoloQR, generator kode QR gratis dengan kode QR bulat dan berbentuk khusus, mematok koreksi kesalahan pada tingkat H, karena ia mengosongkan sepetak ruang di tengah kisi untuk logo dan H-lah yang membayar petak itu. Itu setelan bawaan yang tepat untuk kode cetak dengan merek di tengahnya dan yang keliru untuk layar, jadi kode yang diekspor dari generator untuk iklan video membawa satu versi lebih banyak daripada yang dibutuhkannya. Pada sepertiga tinggi layar hal itu tidak memakan biaya yang terukur; pada seperlima, itu bagian dari alasan mengapa seperlima tidak berhasil.

Batas dari semua di atas adalah yang sudah dinyatakan di awal: kami mengukur rantai perangkat lunak, bukan ruang keluarga. Tidak ada ponsel yang diarahkan ke televisi untuk ini, dan dekoder yang kami pakai lebih lemah daripada yang akan benar-benar membaca iklan Anda, artinya jurang yang sesungguhnya ada di bawah angka-angka tabel ini, bukan di atasnya. Kegunaan tabel-tabel ini adalah memberi tahu Anda di sisi mana dari jurang itu sebuah kode di pojok berada, dan itu bukan perkara tipis.

Buat kode QR Anda

Gratis, tanpa akun dan tanpa watermark. Pilih bentuknya, tambahkan logo, periksa kontrasnya, lalu ekspor ke SVG, PDF, EPS, atau PNG - kode statis tanpa langganan di belakangnya.

Buat kode QR

Questions? Answered

Sekitar seperempat sampai sepertiga tinggi layar. Dalam pengukuran kami, kode setinggi 25% layar terbaca 95% dari waktu pada jarak ruang keluarga biasa dan kode setinggi 30% terbaca setiap kali, sedangkan kode setinggi 20% terbaca 6% dan yang lebih kecil tidak terbaca sama sekali. Jawabannya berupa pecahan dan bukan ukuran dalam sentimeter karena orang duduk lebih jauh dari televisi yang lebih besar, jadi persentase yang sama berlaku di layar mana pun.

Karena kamera tidak mendapat cukup piksel pada tiap kotak di kisi kode itu. Dekoder butuh kira-kira dua setengah piksel kamera per modul, dan kode seukuran pojok di televisi yang dilihat dari tiga meter hanya memberi sekitar satu. Kegagalan ini tidak bertahap - peralihan dari berhasil ke mustahil hanya selebar seperempat piksel per modul - jadi kode itu terbaca seketika atau tidak pernah, seberapa lama pun Anda mengarahkan ponsel.

Jauh lebih sedikit daripada yang diduga orang. Kami memampatkan master ke kualitas JPEG 40, jauh di bawah apa pun yang akan dikirim stasiun televisi atau platform streaming, dan tingkat pembacaan hanya bergeser satu atau dua poin tanpa ambang kegagalannya bergeser sama sekali. Yang menghancurkan kode QR di televisi bukan encoder, melainkan jarak antara layar dan penonton, dan itu tidak bisa diperbaiki bitrate berapa pun.

Setidaknya delapan detik, sebagai pendapat dan bukan pengukuran. Penonton harus menyadari kodenya, menemukan ponsel, membuka kunci, sampai ke kamera, membingkai televisi, dan diam - enam sampai tiga belas detik dari nol, melawan kartu penutup yang biasanya berdurasi tiga sampai lima. Waktu tambahan hanya menolong kalau kodenya sudah cukup besar: durasi tayang membeli lebih banyak percobaan melawan masalah gerakan dan tidak membeli apa pun melawan masalah ukuran.

Hanya sangat pelan. Anggaran gerakannya sekitar seperdelapan modul sapuan selama satu eksposur, yang untuk kode berukuran khas berarti antara seperempat piksel dan satu piksel kamera - kira-kira sepertiga puluh tinggi layar per detik. Luncuran, dorongan kamera, pembesaran, dan putaran berada satu sampai dua orde besaran di luar itu, jadi kode hanyalah hiasan sepanjang animasi berlangsung dan baru bisa dipindai setelah berhenti.

Tidak - turunkan. Koreksi kesalahan menambah redundansi dengan menambah modul, dan pada ukuran tetap di layar lebih banyak modul berarti lebih sedikit piksel kamera pada masing-masingnya. Dalam pengukuran kami, muatan yang sama pada tingkat H terbaca 74% dari waktu sementara tingkat L dan M terbaca 100%, karena H membelanjakan satu versi penuh untuk memperbaiki kerusakan yang tidak pernah ditimbulkan layar. Pencuplikan kurang bukan kerusakan yang bisa diperbaiki koreksi kesalahan, karena ia menghalangi modul terbaca sejak awal.

Sangat, pada ukuran yang dipakai iklan video. URL kampanye 46 karakter menghasilkan kode 33 modul; URL yang sama dengan string pelacakan lengkap menjadi 157 karakter dan 53 modul, dan pada ukuran tetap di layar itu menurunkan tingkat pembacaan dari 93% ke 48% dalam uji kami. Taruh jalur pendek di domain milik Anda di dalam kode, dan tempelkan parameternya di pengalihan, tempat mereka gratis.

Jarang, dan karena alasan yang sama sekali tidak berhubungan dengan ukuran. Sebagian besar video media sosial ditonton di ponsel, dan layar yang memutar iklan itu adalah layar yang harus memindai kodenya - tidak ada perangkat kedua untuk diarahkan. Kalau platformnya menyediakan tautan yang bisa disentuh, itu jelas lebih baik; kode hanya masuk akal untuk video sosial yang benar-benar ditonton di televisi atau layar komputer.

Bioskop adalah kasus yang bersahabat. Aritmetikanya hanya bergantung pada sudut yang ditempati layar bagi penonton, dan layar bioskop menempati sudut jauh lebih besar dari kursi mana pun dibanding televisi dari sofa, jadi kode berukuran sedang pun berfungsi baik. Papan iklan sangat beragam dan harus dihitung satu per satu - kode di layar besar sejauh lima puluh meter dari trotoar bisa menempati sudut yang lebih kecil daripada kode seukuran ponsel yang dipegang sepanjang lengan.

Putar berkas yang dikirim di televisi sungguhan, duduklah di tempat audiens akan duduk, dan pindai dengan aplikasi kamera bawaan pada satu ponsel iOS dan satu Android, dipegang satu tangan dan seadanya. Beri tiap ponsel beberapa detik yang sama dengan yang diberikan kartu penutup kepada penonton. Setiap uji yang dijalankan di monitor ruang edit atau laptop pasti lulus, karena jarak-jarak itu dua sampai tiga kali lebih dekat daripada sofa - dan justru itulah sebabnya masalah ini lolos dari produksi.

Mengapa KoloQR?

  • Buat kode QR untuk situs web, menu, Wi-Fi, PDF, dan kartu nama
  • Sesuaikan warna, logo, dan bentuk unik
  • Unduh file PNG dan SVG berkualitas tinggi
  • Dibuat untuk cetak maupun digital
Buat kode QR
Kode QR hitam polos di samping kode yang sama yang didesain ulang menjadi lingkaran dengan warna merek