वीडियो विज्ञापन के QR कोड को तिहाई स्क्रीन चाहिए। उसे कोना मिलता है

KoloQR टीम द्वारारिसर्च

बैठक में दीवार पर लगा टेलीविज़न, जिस पर खेल का विज्ञापन चल रहा है: दाहिनी ओर स्टेडियम की रोशनी के नीचे घेरा बनाए फ़ुटबॉल खिलाड़ियों की तस्वीर, और बाईं ओर सुर्ख़ी "Join a Team. Be Part of Something Greater.", उसके नीचे "Scan to find teams" और एक गोल पीला-काला QR कोड।

टेलीविज़न से QR कोड पढ़ता फ़ोन आपकी कलाकृति नहीं देख रहा। वह कैमरा फ़्रेम के कुछ दर्जन पिक्सेल देख रहा है, और उसे कितने मिलेंगे यह एक ही चीज़ तय करती है: सोफ़े से कोड कितना कोण घेरता है। हमने ऐसा ढाँचा बनाया जो पूरी शृंखला चलाता है - 1080p मास्टर, कम्प्रेशन, असली दूरी पर हाथ में पकड़ा तिरछा कैमरा, हलचल की लकीर - और नापा कि डिकोड दर किस जगह खाई में गिरती है। आम बैठक-कमरे की दूरी पर स्क्रीन की ऊँचाई का पाँचवाँ हिस्सा घेरता कोड 6% कोशिशों में डिकोड हुआ। चौथाई हिस्सा 95% में। हर वीडियो विज्ञापन जिस कोने वाली जगह का इस्तेमाल करता है, उसने शून्य नापा, और उसे न कितनी भी देर टिकाना ठीक करता है, न एरर करेक्शन, न कोई रचनात्मकता - क्योंकि नाकामी पहला फ़्रेम पढ़े जाने से पहले ही हो जाती है।

मुख्य बातें

  • स्थिर, कम्प्रेस की गई, तिरछी तस्वीर के लिए हमने प्रति मॉड्यूल 2.5 पिक्सेल की न्यूनतम सीमा नापी, जिसमें पहली छिटपुट कामयाबियाँ 2.0 पर और ज़्यादातर 2.25 तक आ जाती हैं। Google के अपने ML Kit बारकोड दस्तावेज़ कम से कम 2 पिक्सेल प्रति मॉड्यूल माँगते हैं, यानी ढाँचा और विक्रेता चौथाई पिक्सेल के भीतर सहमत हैं।
  • स्क्रीन का आकार कट जाता है। चूँकि लोग बड़े टेलीविज़न से दूर बैठते हैं, जवाब सेंटीमीटर की कोई संख्या नहीं, स्क्रीन की ऊँचाई का अंश है, और वही अंश 43 इंच के सेट, 77 इंच के सेट और लैपटॉप पर चलता है।
  • आम बैठक-कमरे की दूरी पर - 55 इंच का सेट क़रीब 2.7 मीटर दूर - स्क्रीन की ऊँचाई के 20% पर बना कोड 6% बार डिकोड हुआ, 25% वाला 95% बार, और 30% वाला हर बार। 15% से नीचे हमारी जाँची किसी भी दूरी पर कुछ भी डिकोड नहीं हुआ।
  • कम्प्रेशन से मुश्किल से फ़र्क़ पड़ता है और हलचल से बहुत ज़्यादा। मास्टर को JPEG गुणवत्ता 40 तक दबाने से डिकोड दर एक-दो अंक हिली; एक ही एक्सपोज़र में आधे कैमरा पिक्सेल की लकीर ने 99% बार डिकोड होने वाले कोड को शून्य पर पहुँचा दिया।
  • विज्ञापन अनजाने में अपने ही कोड के साथ दो चीज़ें करते हैं: UTM टैग जोड़ना और एरर करेक्शन बढ़ाना। दोनों उसी भौतिक आकार पर मॉड्यूल बढ़ा देते हैं। ट्रैकिंग स्ट्रिंग ने एक कोड को 100% से 48% पर ला दिया; एरर करेक्शन स्तर H ने उसी कोड को 99% से 74% पर।

कोने वाला कोड किसी के फ़ोन उठाने से पहले ही हार जाता है

मानक जगह अंतिम कार्ड का दाहिना निचला कोना है, ऐसे आकार में कि वह लोगो और क़ानूनी पंक्ति के बग़ल में शालीनता से बैठ जाए - स्क्रीन की ऊँचाई का आठ से बारह प्रतिशत, और तीन से पाँच सेकंड तक स्क्रीन पर, जितना अंतिम कार्ड चलता है। इसे लेआउट का फ़ैसला माना जाता है, भीड़ और ब्रांड की क्रम-व्यवस्था के हिसाब से इस पर बहस होती है, और वे लोग इसे मंज़ूर करते हैं जो सब एडिट सूट के मॉनिटर पर उसे कामयाबी से स्कैन कर चुके होते हैं।

यह लेआउट का फ़ैसला है ही नहीं। यह रेज़ॉल्यूशन का फ़ैसला है, और उसके पीछे का गणित कमरे में किसी की राय बनने से पहले ही तय हो चुका होता है। टेलीविज़न की तस्वीर खींचता फ़ोन पूरा कमरा पकड़ता है; टेलीविज़न उस फ़्रेम का एक अंश है, कोड टेलीविज़न का एक अंश, और फिर कोड का जाल 25 से 53 चौकोरों में बँट जाता है। दूसरे सिरे पर हर चौकोर के लिए मुट्ठी भर पिक्सेल बचते हैं, और एक ख़ास मुट्ठी से नीचे कुछ भी डिकोड नहीं होता - न धीरे, न कभी-कभी, न किसी बेहतर ऐप से।

यह बात बार-बार इसलिए छूटती है कि निर्माण के दौरान की जाने वाली हर जाँच ग़लत दूरी पर होती है। कोड एडिट सूट के मॉनिटर से हाथ भर की दूरी पर स्कैन होता है, समीक्षा लिंक से लैपटॉप पर 60 सेमी से, और किसी दूसरे फ़ोन से 30 सेमी दूर रखे फ़ोन से। ये तीनों ज्यामिति के लिहाज़ से सोफ़े जैसे बिल्कुल नहीं हैं, और तीनों पास हो जाते हैं। जिस इकलौती हालत में विज्ञापन सचमुच देखा जाएगा, वही कोई नहीं जाँचता, क्योंकि उसे जाँचने का मतलब है किसी बैठक में खड़ा होना।

इसलिए यह लेख पहले गणित करता है और फिर उसे नापता है। सवाल यह नहीं कि QR कोड वीडियो विज्ञापन में होने चाहिए या नहीं - वह पसंद की बात है, और जवाब शायद ब्रांड पर निर्भर करता है। सवाल यह है कि कोड कितना बड़ा होना चाहिए, तभी पसंद वाली बहस करने लायक़ बनती है।

हमने क्या नापा, और वह आपको क्या नहीं बता सकता

ढाँचा पूरी शृंखला सॉफ़्टवेयर में चलाता है। कोड को 12 पिक्सेल प्रति मॉड्यूल पर बनाया जाता है, ISO/IEC 18004 के तय चार-मॉड्यूल क्वाइट ज़ोन के साथ, फिर 1080p मास्टर में उस आकार पर उतारा जाता है जो वह तैयार विज्ञापन में घेरेगा, कम्प्रेस किया जाता है, गद्दी दी जाती है, तिरछा घुमाया जाता है, बताई गई देखने की दूरी पर फ़ोन कैमरा उससे जितने पिक्सेल इकट्ठा करता उतने पर दोबारा नमूना लिया जाता है, एक्सपोज़र के दौरान हलचल की नक़ल के लिए लकीर खींची जाती है, और डिकोडर को सौंप दिया जाता है। नीचे का हर आँकड़ा उन कोशिशों का हिस्सा है जो डिकोड हुईं।

हर ख़ाना 216 कोशिशों का है: बारह अलग पेलोड, सीधे से एक से ग्यारह डिग्री के बीच छह कोण, और पकड़े गए आकार में एक-एक पिक्सेल की तीन डगमगाहटें। यह गिनती एक ऐसी ग़लती की वजह से है जिसे मान लेना चाहिए। ढाँचे के पहले संस्करण ने डिकोडर को बिल्कुल सीधी, जाल से मेल खाती तस्वीर दी, और उसने प्रति मॉड्यूल एक पिक्सेल पर भी ख़ुशी-ख़ुशी कोड डिकोड कर दिया - ऐसा नतीजा जो असली गणित है और पूरी बकवास, क्योंकि वह ऐसे नमूने के संयोग को नापता है जिसे फ़ोन थामा हाथ कभी दोहराएगा ही नहीं। घुमाव ही हर मॉड्यूल को मनमाने उप-पिक्सेल चरण पर रखता है, और उसने न्यूनतम सीमा दोगुने से ज़्यादा हिला दी।

डिकोडर जान-बूझकर कमज़ोर वाला है

डिकोडर jsQR है, यानी ZXing के मूल एल्गोरिदम का JavaScript रूपांतरण - उसी डिकोडर परिवार का, जिसके बाइनराइज़र का सोर्स हमने कंट्रास्ट मापों के लिए पढ़ा था। ज़्यादातर कोड असल में Apple का Vision फ़्रेमवर्क और Google का ML Kit पढ़ते हैं, दोनों बंद हैं, और उनसे निकली कोई संख्या ऐसी होगी जिसे कोई पाठक जाँच ही नहीं सकता। jsQR तीनों में लगभग निश्चित रूप से सबसे कम सक्षम भी है: उसमें न कोई मशीन-लर्निंग चरण है, न कई फ़्रेमों का जोड़, न सुपर-रेज़ॉल्यूशन।

इससे एक अंशांकन कहने लायक़ बनता है। हमारी साफ़ न्यूनतम सीमा 2.5 पिक्सेल प्रति मॉड्यूल निकली, और Google के ML Kit बारकोड दस्तावेज़ ऐसा बारकोड माँगते हैं जिसकी “सबसे छोटी सार्थक इकाई” “कम से कम 2 पिक्सेल चौड़ी, और द्वि-आयामी कोड के लिए 2 पिक्सेल ऊँची” हो। कमज़ोर डिकोडर का विक्रेता के प्रकाशित न्यूनतम से चौथाई पिक्सेल ऊपर उतरना इस क़िस्म की रचना से मिल सकने वाली सबसे अच्छी सहमति है, और इसीलिए नीचे की आकार तालिका को किसी गुणक से निराशावादी नहीं, मोटे तौर पर सही मानकर पढ़ना चाहिए।

ढाँचा क्या छोड़ देता है

  • असली फ़ोन। इसके लिए कोई iPhone या Android डिवाइस किसी टेलीविज़न के सामने नहीं ताना गया। ऑप्टिकल स्थिरीकरण, कई फ़्रेमों का मेल और दोनों बंद डिकोडर, सब पढ़ने वाले के पक्ष में काम करते हैं, और इनमें से किसी का मॉडल नहीं बनाया गया।
  • फ़्रेमों के बीच की वीडियो कोडिंग। यहाँ कम्प्रेशन एक ही फ़्रेम पर JPEG है, जो इंट्रा-कोडेड फ़्रेम की जगह लेता है। किसी स्थिर शॉट पर स्थिर बैठे कोड की क़ीमत असली एनकोडर को पहले फ़्रेम के बाद लगभग कुछ नहीं पड़ती; चलती फ़ुटेज पर चढ़ाया कोड लगातार दोबारा कोड होता है। चूँकि कम्प्रेशन दोनों तरह लगभग बेमानी निकला, यह दिखने से कम मायने रखता है।
  • पैनल और सेंसर का आपस में टकराना। डिस्प्ले की तस्वीर खींचता कैमरा मोइरे पैदा कर सकता है, और 60 Hz पैनल पर उतारे गए 24p मास्टर को रोलिंग शटर से नापने पर पट्टियाँ पड़ सकती हैं। दोनों असली हैं, दोनों नुक़सान करते हैं, और किसी की नक़ल नहीं बनाई गई।
  • चमक, कमरे की रोशनी और तिरछे कोण से देखना। तीनों घटाते हैं, और तीनों इस काम का नहीं, कंट्रास्ट वाले काम का विषय हैं।
  • लोग। कोई व्यक्ति कोड देखने, फ़ोन ढूँढ़ने और उसे ताने में कितना समय लेता है, यह कोई ढाँचा नहीं नाप सकता। नीचे का वह हिस्सा अनुमान बताकर लिखा गया है।

पहली को छोड़कर ये सारी छूटें एक ही दिशा में जाती हैं: ढाँचा कोड पर स्थिर तस्वीर से ज़्यादा सख़्त है, और किसी बैठक-कमरे से नरम। ईमानदार सार यह है कि ये आँकड़े खाई की जगह बताते हैं, और इस पोस्ट के आख़िर वाला दस मिनट का तरीक़ा वह है जिससे आप पता कर सकते हैं कि आपका अपना कैंपेन उसके किस तरफ़ बैठता है।

न्यूनतम सीमा ढाई पिक्सेल प्रति मॉड्यूल है

प्रति मॉड्यूल पिक्सेल वह गिनती है कि QR कोड के जाल के एक चौकोर पर कितने कैमरा पिक्सेल उतरते हैं, और स्कैन का हर दूसरा चर इसी मात्रा में से ख़र्च होता है। कंट्रास्ट, धुँधलापन, कम्प्रेशन, स्याही का फैलाव और कैमरे का शोर, आख़िर में सब एक ही चीज़ घटाते हैं: वह भरोसा जिससे डिकोडर कह सके कि कोई चौकोर काले-सफ़ेद सीमा के किस तरफ़ पड़ा। नमूने के एक ख़ास घनत्व से नीचे ख़र्च करने लायक़ भरोसा बचता ही नहीं।

प्रति मॉड्यूल पिक्सेलसाफ़कम्प्रेस किया (JPEG q40)
1.500%0%
1.750%0%
2.008%7%
2.2569%68%
2.5099%100%
2.75100%100%
3.00100%100%
हर ख़ाने में 216 कोशिशों की डिकोड दर, सीधे से एक से ग्यारह डिग्री तिरछा। खाई आधे पिक्सेल से भी सँकरी है: 2.0 पिक्सेल प्रति मॉड्यूल नाकामी है, 2.5 पक्की कामयाबी।

उस तालिका में दो चीज़ें ख़ुद न्यूनतम सीमा से ज़्यादा क़ीमती हैं। पहली यह कि बदलाव कितना सँकरा है। ऐसे सीमा-रेखा वाले कोड की कोई लंबी पूँछ है ही नहीं जो सब्र वाले उपयोगकर्ताओं के लिए स्कैन होती रहे - 2.0 और 2.5 पिक्सेल प्रति मॉड्यूल के बीच डिकोड दर 8% से 99% हो जाती है, यानी कोड के पास या तो नमूने का घनत्व है या नहीं, और उन दोनों हालतों का फ़र्क़ चौथाई पिक्सेल प्रति मॉड्यूल है।

दूसरी है दूसरा कॉलम। मास्टर को JPEG गुणवत्ता 40 तक दबाना - दिखने लायक़ नुक़सान के साथ, किसी प्रसारक या प्लेटफ़ॉर्म की देने वाली गुणवत्ता से बहुत नीचे - नतीजे को किसी भी दिशा में एक-दो अंक हिलाता है और खाई कभी नहीं सरकाता। यह साफ़ कह देना ज़रूरी है, क्योंकि “वीडियो कम्प्रेशन QR कोड खा जाता है” यही आम स्पष्टीकरण है कि वे टेलीविज़न पर क्यों हारते हैं, और इस माप में यह बात सीधे-सीधे झूठ है। ये कोड कम्प्रेशन नहीं मार रहा। नमूना ले पाना मार रहा है।

इसका नतीजा यह है कि पूरी समस्या एक सवाल पर सिमट जाती है: कोड को कितने कैमरा पिक्सेल मिलते हैं? यह कलाकृति, फ़ाइल फ़ॉर्मैट या एनकोडर का गुण नहीं है। यह उस कोण का गुण है जो कोड देखने वाले की आँख पर घेरता है, यानी ज्यामिति, और ज्यामिति में इतनी शराफ़त है कि वह पहले से बताई जा सके।

स्क्रीन का आकार कट जाता है और सिर्फ़ कोण बचता है

फ़ोन का कैमरा एक रेखीय प्रक्षेपण है, यानी किसी ज्ञात दूरी पर अनुप्रस्थ दूरी एक ही स्थिरांक से पिक्सेल में बदल जाती है। 70 डिग्री के क्षैतिज दृष्टि-क्षेत्र के लिए - 26 मिमी-समकक्ष लेंस 69.4 डिग्री का होता है, और फ़ोन के मुख्य कैमरे सालों से उसके एक डिग्री के भीतर आते रहे हैं - 1920 पिक्सेल चौड़े फ़्रेम पर वह स्थिरांक 1,371 पिक्सेल प्रति रेडियन है। इसलिए पूरी शृंखला गणित की एक पंक्ति में सिमट जाती है:

प्रति मॉड्यूल पिक्सेल = 1371 × f ÷ (k × N), जहाँ f स्क्रीन की ऊँचाई के अंश में कोड की ऊँचाई है, k स्क्रीन-ऊँचाइयों में बताई देखने की दूरी है, और N कोड के आर-पार मॉड्यूलों की संख्या है, उसके चार-मॉड्यूल क्वाइट ज़ोन समेत।

उस व्यंजक में दिलचस्प यह है कि उसमें क्या नहीं है। उसमें न कोई स्क्रीन आकार है और न मीटर में कोई दूरी - सिर्फ़ उनका अनुपात। यह सरलीकरण नहीं, असली भौतिकी है: 77 इंच का टेलीविज़न बड़े कमरे के पिछले सिरे से उतना ही कोण घेरता है जितना 43 इंच का सेट छोटे कमरे से, और कैमरा न जानता है न परवाह करता है कि वह किसे देख रहा है। इसलिए “कोड कितना बड़ा होना चाहिए” का जवाब स्क्रीन का प्रतिशत है, और वही प्रतिशत हर जगह चलता है।

इसका मतलब यह भी है कि k अंदाज़े से नहीं, प्रकाशित देखने-कोण सिफ़ारिशों से तय किया जा सकता है। THX क़रीब 40 डिग्री का क्षैतिज देखने-कोण सुझाता है, जो 16:9 स्क्रीन के लिए 2.4 स्क्रीन-ऊँचाइयों की दूरी बनता है। SMPTE की 30 डिग्री वाली सिफ़ारिश 3.3 स्क्रीन-ऊँचाइयाँ बनती है। दोनों उन लोगों के लिए सिफ़ारिशें हैं जिन्हें तस्वीर की गुणवत्ता की परवाह है; आम बैठक-कमरे दोनों से पीछे बैठते हैं, और इसीलिए नीचे की तालिकाएँ चार स्क्रीन-ऊँचाइयों तक जाती हैं - 55 इंच का सेट क़रीब 2.7 मीटर दूर।

उस स्थिरांक में बैठे 1920 पर अपनी एक चेतावनी बनती है, क्योंकि वह उदार मान्यता है। विश्लेषण धारा वह घटे हुए रेज़ॉल्यूशन वाला वीडियो बफ़र है जिस पर फ़ोन का बारकोड डिटेक्टर असल में चलता है, और वह उस पूरे रेज़ॉल्यूशन वाली तस्वीर से अलग है जो कैमरा खींच सकता है। Google के ML Kit दस्तावेज़ उसे “1280x720 या 1920x1080” देने की सलाह देते हैं, और बताते हैं कि उससे नीचे जाना सिर्फ़ तभी चलता है जब “यह माँगा जाए कि बारकोड इनपुट इमेज का ज़्यादातर हिस्सा घेरे”। नीचे की हर बात इन दोनों में बेहतर वाली मानकर चलती है। 1280 x 720 पर अगली तालिका का हर आँकड़ा एक तिहाई बिगड़ जाता है।

कोड को असल में कितना बड़ा होना पड़ता है

गणित तय हो जाने के बाद माप। हर पंक्ति स्क्रीन की ऊँचाई के प्रतिशत में कोड की ऊँचाई है; कॉलमों का हर जोड़ा स्क्रीन-ऊँचाइयों में देखने की दूरी है, जिसके साथ नमूने का घनत्व और ढाँचे से निकली डिकोड दर दी गई है। पेलोड एरर करेक्शन M पर 25 अक्षरों का URL है, यानी संस्करण 3 - 29 मॉड्यूल, या क्वाइट ज़ोन समेत 37। सब कुछ स्थिर, कम्प्रेस किया हुआ, और सीधे से एक से ग्यारह डिग्री तिरछा।

कोड की ऊँचाई (स्क्रीन का %)1080p मास्टर मेंk = 2 पिक्सेल/मॉड्यूलk = 2 दरk = 3 पिक्सेल/मॉड्यूलk = 3 दरk = 4 पिक्सेल/मॉड्यूलk = 4 दर
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 डिकोड कोशिशें। k स्क्रीन-ऊँचाइयों में देखने की दूरी है: k = 2.4 THX की सिफ़ारिश है, k = 3.3 SMPTE की, और k = 4 आम बैठक-कमरा - 55 इंच का सेट 2.7 मीटर पर। बीच का कॉलम 1080p मास्टर में कोड का आकार है, जो कभी बंधन बनता ही नहीं।

k = 4 वाला कॉलम पढ़िए, क्योंकि ज़्यादातर लोग वहीं बैठे हैं। स्क्रीन की ऊँचाई के पाँचवें हिस्से पर बना कोड सौ में छह बार डिकोड हुआ। चौथाई हिस्से वाला सौ में पंचानबे बार। इस डिज़ाइन फ़ैसले की पूरी काम की सीमा स्क्रीन ऊँचाई के 20% और 30% के बीच है, और परंपरागत कोने वाली जगह इस सीमा के निचले सिरे पर ही नहीं है - वह दो से तीन गुना नक़्शे से ही बाहर है।

यह भी देखिए कि मास्टर वाला कॉलम क्या कर रहा है, यानी कुछ नहीं। स्क्रीन ऊँचाई के 20% पर बना कोड 1080p फ़ाइल में 216 पिक्सेल चौड़ा है, न्यूनतम सीमा से आराम से ऊपर; कोड न एडिट में मर रहा है, न ग्रेड में, न एनकोड में। वह सोफ़े और टेलीविज़न के बीच की दूरी से मर रहा है, और उस मात्रा को कोई पोस्ट-प्रोडक्शन प्रक्रिया बेहतर नहीं कर सकती। यही दलील छपे कोड को उसकी स्कैन दूरी के हिसाब से नापने वाली गाइड काग़ज़ के बारे में रखती है, और यहाँ वह ज़्यादा सख़्त है, क्योंकि दर्शक स्क्रीन के पास चलकर नहीं जा सकता।

k = 2 वाले कॉलम का नतीजा भी काम का है, क्योंकि वह एडिट-सूट के भ्रम को ठीक-ठीक समझा देता है। दो स्क्रीन-ऊँचाइयों पर - 55 इंच का सेट 1.4 मीटर पर, जो लगभग उतना ही कोण घेरता है जितना हाथ भर की दूरी पर रखा डेस्क मॉनिटर - स्क्रीन ऊँचाई के 12.5% पर बना कोड 82% बार डिकोड होता है। यही वह जाँच है जो हर कोई करता है, और वह पास हो जाती है। नमूने का घनत्व दूरी के सीधे अनुपात में गिरता है, और सोफ़ा जाँच की जगह से एक-दो मीटर आगे है।

हलचल इसे आकार से भी तेज़ ख़त्म करती है

कम्प्रेशन से फ़र्क़ नहीं पड़ा और आकार से बहुत पड़ा। हलचल दोनों से बुरी है। ढाँचा सेंसर पर रैखिक लकीर लगाता है - चलने की दिशा में एक बॉक्स संवलन, यानी वही जो एक्सपोज़र के दौरान हलचल असल में फ़्रेम के साथ करती है, न कि वह सममित गॉसियन जो कोई ब्लर फ़ंक्शन लगाता - और नापता है कि डिकोड दर गिरने से पहले कोड एक एक्सपोज़र में सेंसर पर कितनी दूर तक सरक सकता है।

कोड की ऊँचाई (स्क्रीन का %)प्रति मॉड्यूल पिक्सेलस्थिर0.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%
k = 3 पर, कम्प्रेस किया हुआ। कॉलम का शीर्षक बताता है कि एक ही एक्सपोज़र के दौरान कोड कैमरे के सेंसर पर कितनी दूर सरकता है। चारों पंक्तियों में गिरावट कोड की अपनी इकाइयों में एक ही जगह आती है - क़रीब आठवें हिस्से के मॉड्यूल पर - और इसीलिए बड़ा कोड असली गुंजाइश ख़रीदता है, उसका भ्रम नहीं।

गुंजाइश क़रीब आठवें हिस्से के मॉड्यूल जितनी है, और कैमरा पिक्सेल में वह कोड के आकार के हिसाब से चौथाई पिक्सेल से एक पिक्सेल के बीच बैठती है। इसे किसी ऐसी चीज़ में बदलना चाहिए जिस पर निर्देशक अमल कर सके। एक कैमरा पिक्सेल 0.042 डिग्री का चाप है। 1/60 सेकंड के एक्सपोज़र पर - मंद रोशनी वाले कमरे में चमकीली स्क्रीन के हिसाब से नापता फ़ोन - चौथाई पिक्सेल का मतलब है क़रीब 0.6 डिग्री प्रति सेकंड की कोणीय दर। इतना हाथ ठीक-ठाक स्थिर है, और सोफ़े पर से बढ़ाया हाथ नहीं।

यही गणित कोड की अपनी स्क्रीन पर हलचल पर लगाइए तो वह निर्मम है। तीन स्क्रीन-ऊँचाइयों पर एक स्क्रीन-ऊँचाई 457 कैमरा पिक्सेल बनती है, इसलिए 1/60 सेकंड के एक्सपोज़र पर स्क्रीन पर सरकते कोड का बजट मोटे तौर पर प्रति सेकंड तीसवाँ हिस्सा स्क्रीन-ऊँचाई है। दो सेकंड में सलीक़े से अपनी जगह पर सरकता कोड, अंतिम कार्ड पर धीमा पुश-इन, चढ़ाए गए कोड के पीछे हाथ में पकड़े कैमरे की हरकत, कोई उछाल, कोई घुमाव, कोई बढ़ता आकार: हरकत के पूरे समय ये सब उस बजट से एक-दो दर्जे बाहर हैं। कोड तब तक सजावट है जब तक वह रुक न जाए।

डिकोड दरें संभावनाएँ क्यों हैं और आकार तालिका क्यों नहीं

इन दोनों तालिकाओं में एक फ़र्क़ छिपा है जो दोनों से ज़्यादा मायने रखता है। जो कोड बहुत छोटा है वह निश्चित रूप से हारता है: हर फ़्रेम वही फ़्रेम है, सेकंड में तीस बार, और उनमें से कोई डिकोड नहीं होता। जो कोड काफ़ी बड़ा है पर हिल रहा है, वह बेतरतीब ढंग से हारता है: ज़्यादातर फ़्रेमों में लकीर है, कुछ में नहीं, और जैसे ही एक साफ़ फ़्रेम आता है, स्कैन हो जाता है।

इसलिए स्क्रीन पर टिकना कोई आम उपाय नहीं, ठीक एक ही नाकामी का उपाय है। तीन अतिरिक्त सेकंड हलचल की समस्या पर नब्बे और कोशिशें ख़रीदते हैं और नमूने की समस्या के ख़िलाफ़ कुछ भी नहीं ख़रीदते। किसी प्रोडक्शन को समझाने वाले के लिए इस पोस्ट की सबसे काम की बात यही है: अगर कोड काफ़ी बड़ा और स्थिर है, तो वह लगभग तुरंत स्कैन होगा; अगर वह बहुत छोटा है, तो आप उसे पूरे विज्ञापन ब्रेक तक टिकाए रखिए, वह स्कैन नहीं होगा।

विज्ञापन अनजाने में अपने ही कोड को दो तरह से छोटा कर देते हैं

अब तक सब कुछ एरर करेक्शन M पर 25 अक्षरों का URL मानकर चला है। ये दोनों मान्यताएँ उन लोगों द्वारा नियमित रूप से तोड़ी जाती हैं जो मदद करना चाह रहे होते हैं, और दोनों एक ही तरह टूटती हैं: वे मॉड्यूल बढ़ा देती हैं, कोड स्क्रीन पर उसी भौतिक आकार का रहता है, और हर मॉड्यूल छोटा हो जाता है।

ट्रैकिंग स्ट्रिंग

कैंपेन का URL मीडिया एजेंसी से अपने मापन पैरामीटरों समेत आता है, क्योंकि कैंपेन का श्रेय इसी से तय होता है। कोई नहीं देखता कि वह जाल के साथ क्या करता है।

URLअक्षरसंस्करणमॉड्यूलप्रति मॉड्यूल पिक्सेलडिकोड दर
अपने डोमेन पर छोटा रीडायरेक्ट122254.15100%
योजना समेत लिखा छोटा URL273293.70100%
पढ़ने लायक़ कैंपेन URL464333.3493%
वही, UTM टैग के साथ936412.8077%
वही, पूरी ट्रैकिंग स्ट्रिंग के साथ1579532.2548%
पाँचों स्क्रीन ऊँचाई के 30% पर, k = 3, स्थिर, कम्प्रेस किए हुए - यानी उदार आकार का कोड, जो इस पोस्ट की हर सीमा पार करता है। बदल सिर्फ़ पेलोड रहा है। हर पंक्ति में 60 कोशिशें।

पूरी ट्रैकिंग स्ट्रिंग ऐसे कोड की स्कैन दर आधी कर देती है जो वरना सही आकार का है। और वह यह ठीक उसी पल करती है जब मार्केटिंग टीम कैंपेन को सबसे ज़्यादा नापने की कोशिश कर रही होती है, जो इस पूरे विषय का सबसे आत्मघाती नमूना कहलाने का अच्छा दावेदार है। उपाय श्रेय-गणना छोड़ देना नहीं है: उपाय यह है कि पैरामीटरों के आगे अपने डोमेन का छोटा पाथ रखा जाए और उन्हें रीडायरेक्ट पर जोड़ा जाए, जहाँ उनकी कोई क़ीमत नहीं। किराए का रीडायरेक्ट कैंपेन की उम्र भर में असल में क्या ख़र्च कराता है एक अलग दलील है, और वह भी इसी सिफ़ारिश पर उतरती है।

एरर करेक्शन बढ़ा देना

दूसरी सहज प्रतिक्रिया एरर करेक्शन का स्तर बढ़ा देना है, इस सोच से कि जहाँ पढ़ना मुश्किल हो वहाँ ज़्यादा अतिरिक्त गुंजाइश चाहिए। यह ग़लत लीवर है और सचमुच नुक़सानदेह, उसी वजह से जिससे वह कम कंट्रास्ट के लिए ग़लत है: वह अतिरिक्त गुंजाइश मॉड्यूल बढ़ाकर देता है, और कमी मॉड्यूलों की ही है।

एरर करेक्शनसंस्करणमॉड्यूलस्क्रीन के 25% पर दरस्क्रीन के 30% पर दर
L225100%100%
M32999%100%
Q32999%100%
H43374%92%
हर स्तर पर वही पेलोड, k = 3 पर, स्थिर और कम्प्रेस किया हुआ। L और M की कोई क़ीमत नहीं और H उस आकार पर 25 अंक ले लेता है जिसे ज़्यादातर विज्ञापन इस्तेमाल करते, क्योंकि वह एक पूरा संस्करण ऐसी अतिरिक्त गुंजाइश पर ख़र्च करता है जिसकी स्क्रीन को कभी ज़रूरत ही नहीं थी।

H उन कोड के लिए है जो गंदे होते हैं, फटते हैं, जिन पर छपाई चढ़ जाती है या जिन्हें लोगो आंशिक रूप से ढक देता है। टेलीविज़न पर कोड इनमें से कुछ नहीं होता - वह पिक्सेल-दर-पिक्सेल सही पहुँचता है और फिर कम नमूना लिया जाता है, और कम नमूना लेना वह नुक़सान नहीं जिसकी मरम्मत एरर करेक्शन के खंड कर सकें, क्योंकि वह तो मॉड्यूलों को पढ़े ही नहीं जाने देता। स्क्रीन पर L या M इस्तेमाल कीजिए और बचाए हुए मॉड्यूल हर मॉड्यूल को बड़ा करने पर ख़र्च कीजिए। वापसी क्षमता और मॉड्यूल आकार के बीच का पूरा सौदा यहाँ ज्यों का त्यों लागू है; स्क्रीन बस उसके उस सिरे पर बैठती है जहाँ अतिरिक्त गुंजाइश सबसे कम क़ीमती है।

समय वह बजट है जिसे कोई लिखता ही नहीं

यह हिस्सा माप नहीं, अनुमान है, और यह बात आँकड़ों के बाद नहीं, पहले कह देनी चाहिए। ढाँचे में कुछ भी यह नहीं नाप सकता कि कोई व्यक्ति टेलीविज़न पर कुछ देखकर कितनी देर में हरकत करता है, और हमने वह अध्ययन किया नहीं।

दर्शक को जो क्रम पूरा करना है वह छोटा नहीं। कोड को देखना और यह तय करना कि उस पर कुछ करना चाहिए, एक-दो सेकंड लेता है। फ़ोन निकालना और खोलना दो से चार। कैमरे तक पहुँचना एक से तीन और, और ज़्यादा तब जब फ़ोन उस चीज़ पर खुले जो पिछली बार सामने थी। टेलीविज़न को फ़्रेम में लेना, ऑटोफ़ोकस को जमने देना और स्थिर पकड़ना दो से चार और। यानी शुरू से छह से तेरह सेकंड, और सामने वह अंतिम कार्ड जो आम तौर पर तीन से पाँच सेकंड चलता है।

एक असली रियायत है और उसे श्रेय मिलना चाहिए: टेलीविज़न का बड़ा हिस्सा वे लोग देखते हैं जिनके हाथ में पहले से फ़ोन है, जिससे निकालने का क़दम और ज़्यादातर खोलना हट जाता है। शायद इसी वजह से किसी को लगा कि टेलीविज़न पर QR कोड चलेंगे। यह इस प्रारूप के होने के हक़ में मज़बूत दलील है, और तीन सेकंड के हक़ में दलील नहीं, क्योंकि आख़िरी दो क़दम - कैमरे तक पहुँचना, फिर ताना और स्थिर रखना - वे हैं जिन्हें हाथ में पहले से पकड़ा फ़ोन छोटा नहीं करता।

हमारी अपनी सिफ़ारिश, जो राय है और उसे राय कहकर ही रखा जा रहा है: स्थिर और सही आकार वाले कोड के आठ सेकंड ही सबसे कम हैं जिनके लिए ब्रीफ़ बनाना बनता है, और अगर रचनात्मकता आठ सेकंड नहीं दे सकती तो उसने तय कर लिया है कि कोड सजावटी है। यह जायज़ फ़ैसला है। बस उसे अनजाने में लेकर बाद में स्कैन दर के रूप में नापना नहीं चाहिए।

जो विज्ञापन सबको याद है, उसने गणित का पालन किया था

इस सबका एक मशहूर उलटा उदाहरण है, और वह ठीक इसलिए मशहूर है कि उसने वह हर चीज़ की जो यह पोस्ट सुझाती है। फ़रवरी 2022 में Coinbase ने साठ सेकंड का Super Bowl विज्ञापन चलाया, जिसमें और कुछ था ही नहीं - बस वरना काली स्क्रीन पर तैरता, रंग बदलता QR कोड। उस समय Variety और CNN ने उसकी ख़बर दी, और दूसरे ने वह हिस्सा भी बताया जो सबको याद है: लैंडिंग पेज पर इतना ट्रैफ़िक आया कि ऐप बैठ गया।

उसे ऊपर की तालिकाओं के सामने रखिए। कोड बड़ा था, क्योंकि उसके पास पूरा फ़्रेम था। वह अकेला था, इसलिए न दर्शक के ध्यान के लिए कोई और चीज़ लड़ रही थी, न एनकोडर के बिट के लिए। वह चार नहीं, साठ सेकंड स्क्रीन पर था, यानी मोटे तौर पर 1,800 कैमरा फ़्रेम, जिनमें डिकोडर को एक साफ़ फ़्रेम ढूँढ़ना था। और वह कट या स्केल के बजाय धीरे तैर रहा था, जिससे हिलता कोड प्रति-एक्सपोज़र लकीर के उस बजट के भीतर रहता है जिसके बाहर तेज़ हरकत निकल जाती है।

उसने जो एक चीज़ की जिससे यह पोस्ट मना करती, वह रंग बदलना है, और वह भी दिखने से कम लापरवाह है: पट्टी पूरे समय गहरे-पर-हल्के या हल्के-पर-गहरे रही, दो बीच के रंग जोड़े नहीं गए, और यही वह फ़र्क़ है जो असल में तय करता है कि रंगीन कोड कैमरा झेल पाता है या नहीं। जो उसने नहीं किया वह यह था कि चार सेकंड के लिए किसी कोने में छोटा कोड रख देना।

नतीजा यह नहीं कि हर ब्रांड को Super Bowl के साठ सेकंड ख़रीदने चाहिए। नतीजा यह है कि जिस विज्ञापन को हमेशा इस बात के सबूत के तौर पर पेश किया जाता है कि टेलीविज़न पर QR कोड चलते हैं, वह ऐसा विज्ञापन है जिसने अपना पूरा रचनात्मक बजट भौतिकी को संतुष्ट करने पर ख़र्च किया। अंतिम कार्ड के कोने वाले कोड की मिसाल के तौर पर पेश करने पर वह उसका उलटा साबित करता है जिसके लिए वह आम तौर पर इस्तेमाल होता है।

दस मिनट में इसे अपने टेलीविज़न पर जाँचिए

ऊपर का हर आँकड़ा किसी नक़ली कैमरे और ऐसे डिकोडर का आँकड़ा है जो लोगों की जेबों वाले डिकोडरों से कमज़ोर है। किसी ख़ास कैंपेन के लिए मायने रखने वाला आँकड़ा वह है जो उस कैंपेन की तैयार फ़ाइल से, असली स्क्रीन पर, असली सोफ़े से निकलता है, और उसमें दस मिनट लगते हैं।

  1. मास्टर नहीं, दी गई फ़ाइल चलाइए. असली डिलीवरेबल असली टेलीविज़न पर डालिए - कास्ट कीजिए, किसी स्टिक से चलाइए, या उसी प्लेटफ़ॉर्म पर बिना सूची वाला वीडियो अपलोड कीजिए जहाँ वह जाने वाला है। किसी कैलिब्रेटेड मॉनिटर पर ProRes मास्टर देखना वही जाँच है जो पहले ही पास हो चुकी है और जिसने आपको कुछ नहीं बताया।
  2. वहीं बैठिए जहाँ लोग बैठते हैं, और अनुपात लिख लीजिए. स्क्रीन से सोफ़े तक की दूरी नापिए, स्क्रीन की ऊँचाई नापिए, और भाग दीजिए। वही अनुपात ऊपर की हर तालिका का k है, और वही आपको अपना नतीजा उनसे तौलने देता है। तीन से साढ़े चार के बीच कुछ भी आम कमरा है।
  3. दो देशी कैमरा ऐप से स्कैन कीजिए. एक iOS, एक Android, और किसी ख़ास स्कैनिंग ऐप के बजाय भीतर बना कैमरा। स्कैनिंग ऐप देशी ऐप से ज़्यादा सहनशील होते हैं और वे कोड भी पास कर देंगे जिन्हें आपके दर्शक नहीं पढ़ पाएँगे। हर फ़ोन को पाँच सेकंड दीजिए, यानी उतने ही जितने अंतिम कार्ड उन्हें देता है।
  4. लापरवाही वाले तरीक़े से कीजिए. एक हाथ से, ढीले बैठे हुए, कोहनी कहीं टिकाए बिना। सावधान नतीजा नतीजा नहीं होता: एक एक्सपोज़र में चौथाई कैमरा पिक्सेल की हलचल ही पूरा बजट है, और कोहनी टिकाना उससे ज़्यादा क़ीमत रखता है।
  5. कुछ भी तय करने से पहले नियंत्रण जाँच चलाइए. पास जाकर उसी रुके हुए फ़्रेम को एक मीटर से स्कैन कीजिए। अगर वह भी हार जाए, तो दिक़्क़त आकार नहीं, कंट्रास्ट, क्वाइट ज़ोन या पेलोड की है, और कोड बड़ा करने से वह ठीक नहीं होगी।
  6. 5% के क़दमों में बड़ा कीजिए जब तक वह दो बार पास न हो, फिर एक क़दम और जोड़िए. कोड को स्क्रीन ऊँचाई के पाँच प्रतिशत बड़ा करके दोबारा एक्सपोर्ट कीजिए और तब तक दोहराइए जब तक दोनों फ़ोन सोफ़े से लगातार दो बार उसे स्कैन न कर लें। फिर एक क़दम और जोड़िए। वही आख़िरी क़दम उन फ़ोनों, कमरों और आँखों के लिए गुंजाइश है जो जाँच में शामिल नहीं थे।

अगर जवाब यह आए कि कोड को तिहाई स्क्रीन चाहिए, तो वही असली जवाब है, और उसे कैंपेन की रिपोर्ट के बाद जानने से बेहतर है शूट से पहले जान लेना।

विज्ञापन में इसके बजाय क्या रखिए

यह पोस्ट जिस सिफ़ारिश पर ख़त्म होती है वह उसके शीर्षक से सँकरी है। वीडियो विज्ञापन में QR कोड बेकार नहीं हैं - वे महँगे हैं, स्क्रीन के क्षेत्रफल में और सेकंडों में, और उनका इस्तेमाल करता लगभग हर विज्ञापन इनमें से कोई भी क़ीमत देने से इनकार कर देता है और फिर प्रारूप को दोष देता है।

  • अगर कोड इस्तेमाल कर रहे हैं, तो उसे स्क्रीन ऊँचाई का चौथाई से तिहाई हिस्सा और आठ स्थिर सेकंड दीजिए। व्यवहार में इसका मतलब है कि कोड अंतिम कार्ड पर सजावट नहीं, ख़ुद अंतिम कार्ड है। पूरी सिफ़ारिश यही है; बाक़ी सब इसी का नतीजा है।
  • पेलोड क़रीब 25 अक्षरों के भीतर रखिए। अपने डोमेन का छोटा पाथ, और ट्रैकिंग पैरामीटर कोड में नहीं, रीडायरेक्ट पर जुड़े हुए। यह किसी भी दूसरे इकलौते बदलाव से ज़्यादा क़ीमती है, क्योंकि यह बिना किसी क़ीमत के मॉड्यूल लौटा देता है।
  • एरर करेक्शन H नहीं, L या M इस्तेमाल कीजिए। स्क्रीन पर कोड बिना नुक़सान के पहुँचता है और फिर उसका कम नमूना लिया जाता है, और कम नमूने में अतिरिक्त गुंजाइश काम नहीं आती।
  • उसे हिलाइए मत, न आकार बदलिए, न घुमाइए, न सरकाकर लाइए। हलचल का बजट प्रति एक्सपोज़र एक कैमरा पिक्सेल से भी कम है, और हर एनिमेशन उससे दर्जों बाहर है। बाक़ी सब कुछ कार्ड पर चलाइए।
  • अगर विज्ञापन ज़्यादातर फ़ोन पर देखा जाएगा, तो कोड इस्तेमाल ही मत कीजिए। जो स्क्रीन विज्ञापन दिखा रही है वही स्क्रीन उसे पढ़ती, और दूसरा डिवाइस है ही नहीं। प्लेटफ़ॉर्म जो भी टैप होने वाला प्रारूप देता हो, वह इस्तेमाल कीजिए।
  • इसके बजाय बोला और लिखा गया छोटा URL सोचिए। ज़ोर से पढ़ा और टेक्स्ट में दिखाया गया याद रहने वाला डोमेन किसी न्यूनतम कोणीय आकार का मोहताज नहीं, हलचल झेल लेता है, फ़ोन की स्क्रीन पर भी चलता है, और दर्शक को कुछ स्थिर पकड़े रखने को नहीं कहता। वह प्रति इंप्रेशन कम बदलाव लाता है और कम पूरी तरह हारता है, और चार सेकंड के अंतिम कार्ड के लिए यह सौदा आम तौर पर सही दिशा में है।
  • सिनेमा जानने लायक़ अपवाद है। जो गणित टेलीविज़न के कोने को ख़ारिज करता है, वही सिनेमा में उदार है, जहाँ स्क्रीन हर सीट से कहीं बड़ा कोण घेरती है। जो कोड घर पर बेकार होता, वह सिनेमा की स्क्रीन पर मामूली आकार में भी चल सकता है।

अपने ही औज़ार के बारे में एक ईमानदार बात, क्योंकि इस पोस्ट ने अभी ऐसी चीज़ की सिफ़ारिश की है जो वह करता नहीं। KoloQR, गोल और कस्टम आकार वाले QR कोड बनाने का फ्री जनरेटर, एरर करेक्शन स्तर H पर तय रखता है, क्योंकि वह लोगो के लिए जाल के बीच एक टुकड़ा ख़ाली करता है और उस टुकड़े की क़ीमत H चुकाता है। बीच में निशान लिए छपे कोड के लिए यह सही डिफ़ॉल्ट है और स्क्रीन के लिए ग़लत, इसलिए किसी वीडियो विज्ञापन के लिए जनरेटर से एक्सपोर्ट किया कोड ज़रूरत से एक संस्करण ज़्यादा लिए चलता है। तिहाई स्क्रीन पर इसकी कोई नापने लायक़ क़ीमत नहीं; पाँचवें हिस्से पर यही उन वजहों में से है कि पाँचवाँ हिस्सा क्यों नहीं चलता।

ऊपर की हर बात की सीमा वही है जो शुरू में कही गई: हमने सॉफ़्टवेयर की शृंखला नापी, कोई बैठक-कमरा नहीं। इसके लिए कोई फ़ोन किसी टेलीविज़न के सामने नहीं ताना गया, और हमने जो डिकोडर इस्तेमाल किया वह उनसे कमज़ोर है जो सचमुच आपका विज्ञापन पढ़ेंगे, यानी असली खाई इन तालिकाओं के आँकड़ों से ऊपर नहीं, कहीं नीचे है। तालिकाएँ इसलिए हैं कि आपको बता दें कि कोने वाला कोड उस खाई के किस तरफ़ है, और वह मुक़ाबला बराबरी का नहीं है।

अपना QR कोड बनाएँ

फ्री, बिना अकाउंट और बिना वॉटरमार्क। आकार चुनें, लोगो जोड़ें, कंट्रास्ट जाँचें और SVG, PDF, EPS या PNG में एक्सपोर्ट करें - एक स्टैटिक कोड, जिसके पीछे कोई सब्सक्रिप्शन नहीं।

QR कोड बनाएँ

Questions? Answered

स्क्रीन की ऊँचाई का क़रीब चौथाई से तिहाई हिस्सा। हमारी मापों में स्क्रीन ऊँचाई के 25% पर बना कोड आम बैठक-कमरे की दूरी से 95% बार डिकोड हुआ और 30% वाला हर बार, जबकि 20% वाला 6% बार और उससे छोटा कुछ भी नहीं। जवाब सेंटीमीटर की माप नहीं, एक अंश है, क्योंकि लोग बड़े टेलीविज़न से दूर बैठते हैं, इसलिए वही प्रतिशत हर स्क्रीन पर चलता है।

क्योंकि कैमरे को कोड के जाल के हर चौकोर पर पर्याप्त पिक्सेल नहीं मिल रहे। डिकोडर को मोटे तौर पर ढाई कैमरा पिक्सेल प्रति मॉड्यूल चाहिए, और तीन मीटर से देखे गए टेलीविज़न पर कोने जितना कोड क़रीब एक देता है। यह नाकामी धीरे-धीरे नहीं आती - चलने से बेकार होने तक का बदलाव क़रीब चौथाई पिक्सेल प्रति मॉड्यूल में हो जाता है - इसलिए कोड या तो तुरंत स्कैन होता है या कभी नहीं, चाहे आप फ़ोन कितनी भी देर ताने रखें।

लोगों की मान्यता से बहुत कम। हमने मास्टर को JPEG गुणवत्ता 40 तक दबाया, यानी किसी प्रसारक या स्ट्रीमिंग प्लेटफ़ॉर्म की देने वाली गुणवत्ता से बहुत नीचे, और डिकोड दर एक-दो अंक हिली, हार की सीमा बिल्कुल नहीं सरकी। टेलीविज़न पर QR कोड को एनकोडर नहीं मार रहा, स्क्रीन और दर्शक के बीच की दूरी मार रही है, और उसे कितना भी बिटरेट ठीक नहीं कर सकता।

कम से कम आठ सेकंड, जो माप नहीं, राय है। दर्शक को कोड देखना है, फ़ोन ढूँढ़ना है, खोलना है, कैमरे तक पहुँचना है, टेलीविज़न को फ़्रेम में लेना है और स्थिर रहना है, यानी शुरू से छह से तेरह सेकंड, और सामने वह अंतिम कार्ड जो आम तौर पर तीन से पाँच सेकंड चलता है। अतिरिक्त समय तभी काम आता है जब कोड पहले से काफ़ी बड़ा हो: स्क्रीन पर टिकना हलचल की समस्या पर और कोशिशें ख़रीदता है और आकार की समस्या के ख़िलाफ़ कुछ नहीं।

बहुत धीरे ही। हलचल का बजट एक कैमरा एक्सपोज़र में क़रीब आठवें हिस्से के मॉड्यूल की लकीर है, जो आम आकार के कोड के लिए चौथाई से एक कैमरा पिक्सेल के बीच बैठता है - यानी स्क्रीन पर सरकने की मोटे तौर पर तीसवाँ हिस्सा स्क्रीन-ऊँचाई प्रति सेकंड की छूट। सरकना, पुश-इन, आकार बढ़ाना और घुमाना उससे एक-दो दर्जे बाहर हैं, इसलिए किसी भी एनिमेशन के पूरे समय कोड सजावटी रहता है और स्कैन होने लायक़ तभी बनता है जब वह रुक जाए।

नहीं - घटाइए। एरर करेक्शन मॉड्यूल जोड़कर अतिरिक्त गुंजाइश देता है, और स्क्रीन पर तय आकार पर ज़्यादा मॉड्यूल का मतलब है हर मॉड्यूल पर कम कैमरा पिक्सेल। हमारी मापों में वही पेलोड स्तर H पर 74% बार डिकोड हुआ जबकि स्तर L और M पर 100%, क्योंकि H ने एक पूरा संस्करण ऐसे नुक़सान की मरम्मत पर ख़र्च किया जो स्क्रीन कभी करती ही नहीं। कम नमूना लेना वह नुक़सान नहीं जिसकी मरम्मत एरर करेक्शन कर सके, क्योंकि वह मॉड्यूलों को पढ़े ही नहीं जाने देता।

वीडियो विज्ञापन जिन आकारों पर चलते हैं, वहाँ काफ़ी हद तक। 46 अक्षरों का कैंपेन URL 33 मॉड्यूल का कोड है; वही URL पूरी ट्रैकिंग स्ट्रिंग के साथ 157 अक्षर और 53 मॉड्यूल का हो जाता है, और स्क्रीन पर तय आकार पर हमारी जाँच में इसने डिकोड दर 93% से 48% कर दी। कोड में अपने डोमेन का छोटा पाथ रखिए और पैरामीटर रीडायरेक्ट पर जोड़िए, जहाँ वे मुफ़्त हैं।

शायद ही कभी, और वजह का आकार से कोई लेना-देना नहीं। ज़्यादातर सोशल वीडियो फ़ोन पर देखा जाता है, और जो स्क्रीन विज्ञापन चला रही है वही स्क्रीन कोड स्कैन करती - उसे ताने के लिए दूसरा डिवाइस है ही नहीं। जहाँ प्लेटफ़ॉर्म टैप होने वाला लिंक देता है, वह हर लिहाज़ से बेहतर है; कोड सिर्फ़ उस सोशल वीडियो के लिए बनता है जो सचमुच किसी टेलीविज़न या डेस्कटॉप स्क्रीन पर देखा जा रहा हो।

सिनेमा दोस्ताना हाल है। गणित सिर्फ़ इस पर निर्भर है कि स्क्रीन दर्शक से कितना कोण घेरती है, और सिनेमा की स्क्रीन हर सीट से टेलीविज़न के मुक़ाबले कहीं बड़ा कोण घेरती है, इसलिए मामूली आकार का कोड भी अच्छा चलता है। बिलबोर्ड बहुत अलग-अलग होते हैं और हर एक का हिसाब अलग लगाना पड़ता है - फ़ुटपाथ से पचास मीटर दूर बड़ी स्क्रीन पर लगा कोड हाथ भर की दूरी पर पकड़े फ़ोन जितने कोड से छोटा कोण घेर सकता है।

दी गई फ़ाइल असली टेलीविज़न पर चलाइए, वहीं बैठिए जहाँ दर्शक बैठेंगे, और एक iOS तथा एक Android फ़ोन के भीतर बने कैमरा ऐप से, एक हाथ से लापरवाही से पकड़कर स्कैन कीजिए। हर फ़ोन को उतने ही सेकंड दीजिए जितने अंतिम कार्ड दर्शक को देता है। एडिट-सूट के मॉनिटर या लैपटॉप पर की गई हर जाँच पास हो जाती है, क्योंकि वे दूरियाँ सोफ़े से दो-तीन गुना क़रीब हैं, और ठीक इसीलिए यह समस्या प्रोडक्शन से बच निकलती है।

आगे पढ़ते रहें

ऐसे पेज जो यहीं से आगे बढ़ते हैं - वही संदर्भ, वैसा ही कोड, या अगला फ़ैसला जो लेना है।

रिटेल दुकानें

शेल्फ़ लेबल, दुकान की खिड़की और कैश काउंटर के साइन पर प्रोडक्ट ब्योरा, स्टॉक और समीक्षा के लिंक।

आयोजन एजेंसियाँ

किसी और के आयोजन के लिए बनाए गए कोड: क्लाइंट के रीडायरेक्ट, प्रदर्शकों के लिए विनिर्देश पत्र, बैज की छपाई और कमरे के हिसाब से नापे गए साइन।

गाड़ियाँ

वैन, कार और फ़्लीट ब्रांडिंग - फ़ुटपाथ से कोड को कितना आकार चाहिए, और बॉडी का वह हिस्सा कौन-सा है जहाँ वह रिवेट, जोड़ और सड़क की धूल झेल जाता है।

होर्डिंग

48-sheet, 6-sheet और इमारत पर लगे रैप - उस पैमाने पर दूरी की गणित क्या माँगती है, और वे जगहें कौन-सी हैं जहाँ वह कोड के ख़िलाफ़ ही दलील देती है।

क्रिएटिव QR कोड

ऐसे QR कोड के लिए डिज़ाइन दिशाएँ और असली उदाहरण, जो जान-बूझकर बने लगें और स्कैन की भरोसेमंदी भी न छोड़ें।

साइन दस साल चलता है। सब्सक्रिप्शन हर महीने नवीनीकृत होता है।

जो पैटर्न आप छापते हैं उसमें आपका नहीं, प्रोवाइडर का डोमेन है - इसीलिए ख़त्म हुआ प्लान किसी साइन को मरी हुई चीज़ बना देता है, और इसीलिए अपना डोमेन ही डायनामिक कोड का इकलौता ले जाने लायक़ रूप है।

KoloQR ही क्यों?

  • वेबसाइट, मेन्यू, Wi-Fi, PDF और विज़िटिंग कार्ड के लिए QR कोड बनाएँ
  • रंग, लोगो और अनोखे आकार अपने हिसाब से चुनें
  • हाई-क्वालिटी PNG और SVG फ़ाइलें डाउनलोड करें
  • प्रिंट और डिजिटल, दोनों के लिए बना
QR कोड बनाएँ
एक सादा काला QR कोड और उसके बगल में वही कोड, ब्रांड रंगों के साथ गोल आकार में नए सिरे से डिज़ाइन किया हुआ