คิวอาร์โค้ดในโฆษณาวิดีโอต้องกินพื้นที่หนึ่งในสามของจอ แต่ได้แค่มุมจอ
โดยทีม KoloQRงานวิจัย

มือถือที่อ่านคิวอาร์โค้ดจากจอทีวีไม่ได้กำลังมองอาร์ตเวิร์กของคุณ มันมองพิกเซลไม่กี่สิบพิกเซลจากเฟรมกล้องหนึ่งเฟรม และจำนวนที่มันได้ถูกกำหนดด้วยสิ่งเดียว คือมุมที่โค้ดกินพื้นที่เมื่อมองจากโซฟา เราสร้างชุดทดสอบที่ไล่ทั้งสายงาน ตั้งแต่มาสเตอร์ 1080p การบีบอัด กล้องมือถือที่ถือด้วยมือและเอียงเล็กน้อยที่ระยะรับชมจริง ไปจนถึงรอยลากจากการเคลื่อนไหว แล้ววัดว่าอัตราการอ่านพังลงตรงจุดไหน ที่ระยะห้องนั่งเล่นปกติ โค้ดที่สูงหนึ่งในห้าของจอถอดรหัสสำเร็จ 6% ของความพยายาม ส่วนหนึ่งในสี่ของความสูงจอได้ 95% การวางไว้ที่มุมจอแบบที่โฆษณาวิดีโอทุกชิ้นใช้ วัดได้ศูนย์ และไม่มีเวลาออกอากาศ ระดับการแก้ไขข้อผิดพลาด หรือความคิดสร้างสรรค์ใดแก้ได้ เพราะความล้มเหลวเกิดขึ้นก่อนที่เฟรมแรกจะถูกอ่านเสียอีก
ประเด็นสำคัญ
- เราวัดขีดล่างของการอ่านได้ที่ 2.5 พิกเซลต่อโมดูล สำหรับภาพนิ่งที่ถูกบีบอัดและเอียงเล็กน้อย โดยความสำเร็จประปรายครั้งแรกอยู่ที่ 2.0 และเกินครึ่งแล้วที่ 2.25 เอกสารของ ML Kit ของ Google เองก็ขออย่างน้อย 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 ซม. ในเชิงเรขาคณิตทั้งสามกรณีไม่มีอะไรเหมือนโซฟาเลย และทั้งสามผ่านหมด เงื่อนไขเดียวที่โฆษณาจะถูกดูจริงคือเงื่อนไขที่ไม่มีใครทดสอบ เพราะการทดสอบมันแปลว่าต้องไปยืนอยู่ในห้องนั่งเล่น
บทความนี้จึงคำนวณก่อน แล้วค่อยวัดผล คำถามไม่ใช่ว่าคิวอาร์โค้ดควรอยู่ในโฆษณาวิดีโอหรือไม่ นั่นเป็นเรื่องรสนิยม และคำตอบคงขึ้นกับแบรนด์ คำถามคือโค้ดต้องใหญ่แค่ไหน การถกเรื่องรสนิยมจึงจะคุ้มค่าที่จะเริ่มต้น
เราวัดอะไร และมันบอกอะไรคุณไม่ได้บ้าง
ชุดทดสอบไล่ทั้งสายงานด้วยซอฟต์แวร์ โค้ดถูกวาดที่ 12 พิกเซลต่อโมดูลพร้อมโซนเงียบสี่โมดูลตามที่ ISO/IEC 18004 กำหนด ย่อลงในมาสเตอร์ 1080p ให้เท่าขนาดที่มันจะกินพื้นที่ในโฆษณาที่เสร็จแล้ว บีบอัด เติมขอบ หมุนออกจากแนวฉาก สุ่มตัวอย่างใหม่ให้เท่าจำนวนพิกเซลที่กล้องมือถือจะเก็บได้จากมันที่ระยะรับชมหนึ่ง ๆ ลากให้เบลอเพื่อจำลองการเคลื่อนไหวระหว่างเปิดรับแสง แล้วส่งให้ตัวถอดรหัส ทุกตัวเลขข้างล่างคือสัดส่วนของความพยายามที่ถอดรหัสสำเร็จ
แต่ละช่องคือ 216 ครั้ง ได้แก่เพย์โหลดสิบสองแบบ มุมหกค่าระหว่างหนึ่งถึงสิบเอ็ดองศาจากแนวฉาก และการขยับขนาดที่จับได้ทีละหนึ่งพิกเซลสามแบบ จำนวนนี้มีอยู่เพราะความผิดพลาดหนึ่งที่ควรยอมรับ ชุดทดสอบเวอร์ชันแรกป้อนภาพที่ตั้งฉากสมบูรณ์และเรียงตรงกับตารางให้ตัวถอดรหัส แล้วมันก็อ่านโค้ดที่หนึ่งพิกเซลต่อโมดูลได้อย่างสบายใจ ผลลัพธ์นั้นเป็นเลขคณิตจริงและเป็นเรื่องไร้สาระสิ้นดีในเวลาเดียวกัน เพราะมันวัดความบังเอิญของการสุ่มตัวอย่างที่มือซึ่งถือมือถือจะไม่มีวันทำซ้ำได้ การหมุนคือสิ่งที่วางทุกโมดูลไว้ที่เฟสย่อยพิกเซลแบบสุ่ม และมันขยับขีดล่างไปมากกว่าสองเท่า
ตัวถอดรหัสเป็นตัวที่อ่อนที่สุด และเลือกแบบนั้นตั้งใจ
ตัวถอดรหัสคือ jsQR ซึ่งเป็นการพอร์ตแกนของ ZXing มาเป็น JavaScript เป็นตัวถอดรหัสตระกูลเดียวกับที่เราอ่านซอร์สโค้ดส่วนแปลงภาพเป็นขาวดำเอาไว้ตอนทำการวัดคอนทราสต์ เฟรมเวิร์ก Vision ของ Apple และ ML Kit ของ Google คือสิ่งที่อ่านโค้ดส่วนใหญ่จริง ๆ ทั้งคู่ปิดซอร์ส และตัวเลขที่ได้จากอันใดอันหนึ่งเป็นตัวเลขที่ผู้อ่านคนไหนก็ตรวจสอบไม่ได้ อีกทั้ง jsQR แทบแน่นอนว่าเป็นตัวที่ความสามารถต่ำที่สุดในสามตัว ไม่มีขั้นตอนแมชชีนเลิร์นนิง ไม่มีการสะสมหลายเฟรม ไม่มีซูเปอร์เรโซลูชัน
เพราะแบบนั้นจึงมีการเทียบมาตรฐานหนึ่งที่ควรพูดถึง ขีดล่างของเราบนภาพสะอาดออกมาที่ 2.5 พิกเซลต่อโมดูล ขณะที่เอกสารการอ่านบาร์โค้ดของ ML Kit ขอโค้ดที่ "หน่วยเล็กที่สุดที่มีความหมาย" นั้น "กว้างอย่างน้อย 2 พิกเซล และสำหรับโค้ดสองมิติ สูงอย่างน้อย 2 พิกเซล" การที่ตัวถอดรหัสซึ่งอ่อนกว่าไปหยุดอยู่เหนือค่าต่ำสุดที่ผู้ผลิตประกาศไว้เพียงหนึ่งในสี่พิกเซล ถือเป็นความสอดคล้องที่ดีที่สุดเท่าที่การประกอบแบบนี้จะหวังได้ และเป็นเหตุผลที่ตารางขนาดข้างล่างควรอ่านว่าถูกต้องโดยประมาณ ไม่ใช่มองโลกในแง่ร้ายเกินจริงเป็นเท่าตัว
สิ่งที่ชุดทดสอบไม่ได้รวมไว้
- มือถือจริง ๆ งานวัดนี้ไม่มีการเอา iPhone หรือ Android ไปเล็งจอทีวีเลย ระบบกันสั่นแบบออปติคัล การรวมหลายเฟรม และตัวถอดรหัสปิดซอร์สทั้งสองตัว ล้วนทำงานเข้าข้างคนอ่าน และไม่มีอันใดถูกจำลอง
- การเข้ารหัสวิดีโอข้ามเฟรม การบีบอัดในที่นี้คือ JPEG บนเฟรมเดียว ซึ่งทำหน้าที่แทนเฟรมแบบอินทรา โค้ดที่นิ่งอยู่บนช็อตที่นิ่งแทบไม่กินบิตของตัวเข้ารหัสจริงหลังเฟรมแรก ส่วนโค้ดที่ซ้อนอยู่บนภาพเคลื่อนไหวถูกเข้ารหัสใหม่ตลอดเวลา แต่เมื่อการบีบอัดกลับกลายเป็นแทบไม่เกี่ยวในทั้งสองกรณี เรื่องนี้จึงสำคัญน้อยกว่าที่เห็น
- แผงจอกับเซนเซอร์ที่ตีกันเอง กล้องที่ถ่ายจอภาพอาจเกิดลายมัวเร และมาสเตอร์ 24p ที่ถูกแปลงลงแผงจอ 60 Hz แล้วสุ่มตัวอย่างด้วยชัตเตอร์แบบโรลลิงอาจเกิดแถบ ทั้งสองอย่างมีจริง ทั้งสองอย่างเป็นผลเสีย และไม่มีอันใดถูกจำลอง
- แสงสะท้อน แสงในห้อง และการมองจากมุมเฉียง ทั้งสามอย่างหักลบออกไป และทั้งสามอย่างเป็นเรื่องของบทความว่าด้วยคอนทราสต์ ไม่ใช่บทความนี้
- คน เวลาที่คนคนหนึ่งใช้ในการสังเกตเห็นโค้ด หามือถือ แล้วเล็ง ไม่ใช่สิ่งที่ชุดทดสอบวัดได้ หัวข้อที่ว่าด้วยเรื่องนี้ข้างล่างจึงระบุไว้ว่าเป็นการประมาณ
การละเว้นทั้งหมดนี้ไปในทางเดียวกันหมด ยกเว้นข้อแรก คือชุดทดสอบโหดกับโค้ดมากกว่าภาพถ่ายนิ่ง และใจดีกว่าห้องนั่งเล่นจริง สรุปอย่างซื่อตรงคือ ตัวเลขเหล่านี้ระบุตำแหน่งของหน้าผา และขั้นตอนสิบนาทีท้ายบทความคือวิธีหาว่าแคมเปญของคุณอยู่ฝั่งไหนของหน้าผานั้น
ขีดล่างอยู่ที่สองพิกเซลครึ่งต่อโมดูล
พิกเซลต่อโมดูลคือจำนวนพิกเซลของกล้องที่ตกลงบนหนึ่งช่องของตารางคิวอาร์โค้ด และเป็นปริมาณที่ตัวแปรอื่นทุกตัวในการสแกนต้องจ่ายออกไปจากมัน คอนทราสต์ ความเบลอ การบีบอัด การบานของหมึก และสัญญาณรบกวนของกล้อง สุดท้ายแล้วลดทอนสิ่งเดียวกันหมด คือความมั่นใจที่ตัวถอดรหัสจะบอกได้ว่าช่องหนึ่งตกอยู่ฝั่งไหนของเส้นแบ่งดำขาว ต่ำกว่าความหนาแน่นของการสุ่มตัวอย่างระดับหนึ่ง ก็ไม่เหลือความมั่นใจให้จ่ายอีก
| พิกเซลต่อโมดูล | ภาพสะอาด | ผ่านการบีบอัด (JPEG q40) |
|---|---|---|
| 1.50 | 0% | 0% |
| 1.75 | 0% | 0% |
| 2.00 | 8% | 7% |
| 2.25 | 69% | 68% |
| 2.50 | 99% | 100% |
| 2.75 | 100% | 100% |
| 3.00 | 100% | 100% |
มีสองสิ่งในตารางนั้นที่มีค่ามากกว่าตัวขีดล่างเอง อย่างแรกคือช่วงเปลี่ยนผ่านแคบแค่ไหน ไม่มีหางยาว ๆ ของโค้ดก้ำกึ่งที่ผู้ใช้ใจเย็นจะสแกนติดในที่สุด ระหว่าง 2.0 กับ 2.5 พิกเซลต่อโมดูล อัตราการอ่านกระโดดจาก 8% เป็น 99% แปลว่าโค้ดหนึ่งมีความหนาแน่นของการสุ่มตัวอย่างพอ หรือไม่พอ เท่านั้น และสิ่งที่คั่นสองสถานะนี้คือหนึ่งในสี่พิกเซลต่อโมดูล
อย่างที่สองคือคอลัมน์ที่สอง การบีบมาสเตอร์ลงเหลือคุณภาพ JPEG 40 ซึ่งเสียคุณภาพจนเห็นได้ชัดและต่ำกว่าอะไรก็ตามที่สถานีหรือแพลตฟอร์มจะส่งออกมา ทำให้ผลลัพธ์ขยับหนึ่งถึงสองจุดไปทางใดทางหนึ่ง และไม่เคยขยับหน้าผาเลยสักครั้ง เรื่องนี้ควรพูดออกมาตรง ๆ เพราะ "การบีบอัดวิดีโอกินคิวอาร์โค้ด" คือคำอธิบายมาตรฐานว่าทำไมโค้ดถึงพังบนทีวี และในการวัดครั้งนี้มันไม่จริงเลย สิ่งที่ฆ่าโค้ดเหล่านี้ไม่ใช่การบีบอัด แต่คือการสุ่มตัวอย่าง
ผลที่ตามมาคือปัญหาทั้งหมดย่อลงเหลือคำถามเดียว ว่าโค้ดได้พิกเซลของกล้องกี่พิกเซล นั่นไม่ใช่คุณสมบัติของอาร์ตเวิร์ก ของรูปแบบไฟล์ หรือของตัวเข้ารหัส แต่เป็นคุณสมบัติของมุมที่โค้ดกินพื้นที่ในสายตาผู้ชม ซึ่งก็คือเรขาคณิต และเรขาคณิตมีข้อดีตรงที่คาดเดาได้
ขนาดจอตัดกันหายไป เหลือแต่มุมเท่านั้น
กล้องมือถือเป็นการฉายภาพแบบเส้นตรง แปลว่าระยะตามขวางที่ระยะห่างซึ่งรู้ค่าแล้ว จะแปลงเป็นพิกเซลด้วยค่าคงที่เพียงค่าเดียว สำหรับมุมมองแนวนอน 70 องศา ซึ่งเลนส์เทียบเท่า 26 มม. คือ 69.4 องศา และกล้องหลักของมือถือก็ออกมาห่างจากค่านั้นไม่เกินหนึ่งองศามาหลายปีแล้ว ค่าคงที่นั้นเท่ากับ 1,371 พิกเซลต่อเรเดียนบนเฟรมกว้าง 1920 พิกเซล ทั้งสายงานจึงยุบลงเหลือเลขคณิตบรรทัดเดียว
พิกเซลต่อโมดูล = 1371 × f ÷ (k × N) โดย f คือความสูงของโค้ดเป็นสัดส่วนของความสูงจอ k คือระยะรับชมในหน่วยความสูงจอ และ N คือจำนวนโมดูลตามด้านของโค้ดรวมโซนเงียบสี่โมดูลแล้ว
สิ่งที่น่าสนใจในสมการนั้นคือสิ่งที่หายไปจากมัน ไม่มีขนาดจอและไม่มีระยะเป็นเมตร มีแต่อัตราส่วนของทั้งสอง นี่ไม่ใช่การลดรูป แต่เป็นฟิสิกส์จริง ๆ ทีวี 77 นิ้วกินมุมเท่ากับทีวี 43 นิ้วเมื่อมองจากท้ายห้องใหญ่กับห้องเล็กตามลำดับ และกล้องก็ไม่รู้และไม่สนใจว่ากำลังมองเครื่องไหนอยู่ คำตอบของ "โค้ดต้องใหญ่แค่ไหน" จึงเป็นเปอร์เซ็นต์ของจอ และเปอร์เซ็นต์เดียวกันนี้ใช้ได้ทุกที่
มันยังแปลว่า k กำหนดได้จากคำแนะนำเรื่องมุมมองที่มีการเผยแพร่ไว้ แทนที่จะเดา THX แนะนำมุมมองแนวนอนราว 40 องศา ซึ่งสำหรับจอ 16:9 คิดออกมาได้ระยะ 2.4 เท่าของความสูงจอ ส่วนคำแนะนำของ SMPTE ที่ 30 องศาได้ 3.3 เท่าของความสูงจอ ทั้งสองเป็นคำแนะนำสำหรับคนที่ใส่ใจคุณภาพของภาพ ห้องนั่งเล่นทั่วไปนั่งไกลกว่าทั้งสองค่านั้น ตารางข้างล่างจึงลากยาวไปถึงสี่เท่าของความสูงจอ คือทีวี 55 นิ้วที่ระยะราว 2.7 ม.
เลข 1920 ในค่าคงที่นั้นก็ควรมีหมายเหตุของตัวเอง เพราะมันคือสมมติฐานฝั่งที่เข้าข้างเรา สตรีมสำหรับวิเคราะห์คือบัฟเฟอร์วิดีโอความละเอียดต่ำที่ตัวตรวจจับโค้ดของมือถือทำงานอยู่บนนั้นจริง ๆ ซึ่งไม่ใช่ภาพถ่ายความละเอียดเต็มที่กล้องถ่ายได้ เอกสารของ ML Kit ของ Google แนะนำให้ป้อน "1280x720 หรือ 1920x1080" และระบุว่าการลดต่ำกว่านั้นทำได้ก็ต่อเมื่อ "กำหนดให้บาร์โค้ดกินพื้นที่ส่วนใหญ่ของภาพที่ป้อนเข้าไป" ทุกอย่างข้างล่างนี้ใช้ค่าที่ดีกว่าในสองค่านั้น ถ้าเป็น 1280 x 720 ตัวเลขทุกตัวในตารางถัดไปจะแย่ลงหนึ่งในสาม
จริง ๆ แล้วโค้ดต้องใหญ่แค่ไหน
เมื่อเลขคณิตลงตัวแล้วก็ถึงการวัด แต่ละแถวคือความสูงของโค้ดเป็นเปอร์เซ็นต์ของความสูงจอ แต่ละคู่คอลัมน์คือระยะรับชมในหน่วยความสูงจอ พร้อมความหนาแน่นของการสุ่มตัวอย่างที่ได้และอัตราการอ่านที่ออกมาจากชุดทดสอบ เพย์โหลดคือ URL ยาว 25 ตัวอักษรที่ระดับการแก้ไขข้อผิดพลาด M ซึ่งคือเวอร์ชัน 3 เท่ากับ 29 โมดูล หรือ 37 ตามด้านเมื่อรวมโซนเงียบ ทุกอย่างนิ่ง ผ่านการบีบอัด และเอียงจากแนวฉากหนึ่งถึงสิบเอ็ดองศา
| ความสูงโค้ด (% ของจอ) | บนมาสเตอร์ 1080p | k = 2 px/โมดูล | k = 2 อัตรา | k = 3 px/โมดูล | k = 3 อัตรา | k = 4 px/โมดูล | k = 4 อัตรา |
|---|---|---|---|---|---|---|---|
| 8% | 86 px | 1.49 | 0% | 1.00 | 0% | 0.73 | 0% |
| 10% | 108 px | 1.86 | 2% | 1.24 | 0% | 0.92 | 0% |
| 12.5% | 135 px | 2.32 | 82% | 1.54 | 0% | 1.16 | 0% |
| 15% | 162 px | 2.78 | 100% | 1.86 | 4% | 1.38 | 0% |
| 17.5% | 189 px | 3.24 | 100% | 2.16 | 70% | 1.62 | 0% |
| 20% | 216 px | 3.70 | 100% | 2.46 | 91% | 1.86 | 6% |
| 25% | 270 px | 4.62 | 100% | 3.08 | 99% | 2.32 | 95% |
| 30% | 324 px | 5.57 | 100% | 3.70 | 100% | 2.78 | 100% |
| 35% | 378 px | 6.49 | 100% | 4.32 | 100% | 3.24 | 100% |
อ่านคอลัมน์ k = 4 เพราะนั่นคือที่ที่คนส่วนใหญ่นั่งอยู่ โค้ดที่สูงหนึ่งในห้าของจออ่านได้หกครั้งจากร้อย โค้ดที่สูงหนึ่งในสี่ของจออ่านได้เก้าสิบห้าครั้งจากร้อย ช่วงที่ใช้งานได้จริงทั้งหมดของการตัดสินใจออกแบบนี้อยู่ระหว่าง 20% ถึง 30% ของความสูงจอ และการวางไว้ที่มุมจอตามธรรมเนียมไม่ได้แค่อยู่ปลายล่างของช่วงนั้น แต่หลุดออกนอกตารางไปสองถึงสามเท่า
สังเกตด้วยว่าคอลัมน์มาสเตอร์กำลังทำอะไรอยู่ คำตอบคือไม่ได้ทำอะไรเลย โค้ดที่สูง 20% ของจอกว้าง 216 พิกเซลในไฟล์ 1080p ซึ่งสูงกว่าขีดล่างอย่างสบาย โค้ดไม่ได้ถูกทำลายในห้องตัดต่อ ในการปรับสี หรือในการเข้ารหัส สิ่งที่ทำลายมันคือระยะระหว่างโซฟากับทีวี ซึ่งเป็นปริมาณที่ไม่มีกระบวนการโพสต์โปรดักชันใดปรับปรุงได้ นี่คือข้อโต้แย้งเดียวกับที่การกำหนดขนาดโค้ดสิ่งพิมพ์ให้เหมาะกับระยะสแกน พูดถึงกระดาษ และที่นี่เข้มงวดกว่า เพราะผู้ชมเดินเข้าไปใกล้จอไม่ได้
ข้อสรุปจากคอลัมน์ k = 2 ก็ควรเก็บไว้เช่นกัน เพราะมันอธิบายภาพลวงตาของห้องตัดต่อได้อย่างแม่นยำ ที่ระยะสองเท่าของความสูงจอ คือทีวี 55 นิ้วที่ 1.4 ม. ซึ่งกินมุมพอ ๆ กับจอมอนิเตอร์บนโต๊ะที่ระยะแขนเอื้อม โค้ดที่สูง 12.5% ของจออ่านได้ 82% ของครั้ง นั่นคือการตรวจที่ทุกคนทำ และมันผ่าน ความหนาแน่นของการสุ่มตัวอย่างลดลงแปรผันตรงกับระยะ และโซฟาอยู่ถัดจากจุดที่ทดสอบไปอีกหนึ่งถึงสองเมตร
การเคลื่อนไหวปิดเกมเร็วกว่าขนาดเสียอีก
การบีบอัดกลายเป็นเรื่องไม่สำคัญ ส่วนขนาดกลายเป็นเรื่องสำคัญมหาศาล และการเคลื่อนไหวแย่กว่าทั้งสองอย่าง ชุดทดสอบใส่รอยลากเชิงเส้นลงบนเซนเซอร์ คือการคอนโวลูชันแบบกล่องตามทิศทางการเคลื่อนที่ ซึ่งเป็นสิ่งที่การเคลื่อนไหวระหว่างเปิดรับแสงทำกับเฟรมจริง ๆ แทนที่จะเป็นความเบลอแบบเกาส์เซียนสมมาตรที่ฟังก์ชันเบลอทั่วไปจะใส่ให้ แล้ววัดว่าโค้ดเคลื่อนบนเซนเซอร์ได้ไกลแค่ไหนระหว่างการเปิดรับแสงหนึ่งครั้ง ก่อนที่อัตราการอ่านจะพังลง
| ความสูงโค้ด (% ของจอ) | พิกเซลต่อโมดูล | นิ่ง | 0.25 px | 0.5 px | 0.75 px | 1.0 px | 1.5 px |
|---|---|---|---|---|---|---|---|
| 25% | 3.08 | 99% | 86% | 0% | 0% | 0% | 0% |
| 30% | 3.70 | 100% | 97% | 0% | 0% | 0% | 0% |
| 40% | 4.95 | 100% | 100% | 100% | 0% | 0% | 0% |
| 60% | 7.41 | 100% | 100% | 100% | 100% | 1% | 0% |
ความเผื่ออยู่ที่ราวหนึ่งในแปดโมดูล เมื่อคิดเป็นพิกเซลของกล้องก็อยู่ระหว่างหนึ่งในสี่พิกเซลถึงหนึ่งพิกเซลแล้วแต่ว่าโค้ดใหญ่แค่ไหน เรื่องนี้ควรแปลงให้เป็นสิ่งที่ผู้กำกับลงมือทำได้ หนึ่งพิกเซลของกล้องเท่ากับ 0.042 องศา ที่การเปิดรับแสง 1/60 วินาที คือมือถือในห้องสลัวที่วัดแสงจากจอสว่าง หนึ่งในสี่พิกเซลเท่ากับความเร็วเชิงมุมราว 0.6 องศาต่อวินาที นั่นคือมือที่ถือนิ่งพอสมควร และไม่ใช่มือที่กำลังเอื้อมจากโซฟา
เมื่อเอาเลขคณิตเดียวกันไปใช้กับการเคลื่อนที่ของโค้ดบนจอ ผลลัพธ์โหดร้าย ที่ระยะสามเท่าของความสูงจอ ความสูงจอหนึ่งเท่าเทียบได้กับ 457 พิกเซลของกล้อง ดังนั้นโค้ดที่ลอยไปบนจอที่การเปิดรับแสง 1/60 วินาที มีงบราวหนึ่งในสามสิบของความสูงจอต่อวินาที โค้ดที่ไถลเข้ามาอย่างสง่างามในสองวินาที การดันกล้องเข้าช้า ๆ บนเอนด์การ์ด กล้องมือถือที่ขยับอยู่หลังโค้ดที่ซ้อนไว้ การกระเด้ง การหมุน การขยาย ทั้งหมดนี้อยู่นอกงบนั้นหนึ่งถึงสองเท่าตัวของเลขยกกำลัง ตลอดเวลาที่การเคลื่อนไหวดำเนินอยู่ โค้ดเป็นแค่ของประดับจนกว่ามันจะหยุด
ทำไมอัตราการอ่านจึงเป็นความน่าจะเป็น แต่ตารางขนาดไม่ใช่
มีข้อแตกต่างหนึ่งซ่อนอยู่ในสองตารางนี้ และมันสำคัญกว่าตัวตารางทั้งสองเสียอีก โค้ดที่เล็กเกินไปล้มเหลวแบบตายตัว ทุกเฟรมคือเฟรมเดียวกันสามสิบครั้งต่อวินาที และไม่มีเฟรมไหนถอดรหัสได้ ส่วนโค้ดที่ใหญ่พอแต่กำลังเคลื่อนที่ล้มเหลวแบบสุ่ม เฟรมส่วนใหญ่มีรอยลาก บางเฟรมไม่มี และการสแกนสำเร็จทันทีที่เฟรมสะอาดเฟรมหนึ่งมาถึง
เวลาที่โค้ดอยู่บนจอจึงไม่ใช่ยาครอบจักรวาล แต่เป็นยาสำหรับความล้มเหลวแบบเดียวเท่านั้น สามวินาทีที่เพิ่มขึ้นซื้อความพยายามอีกเก้าสิบครั้งต่อปัญหาการเคลื่อนไหว และไม่ได้ซื้ออะไรเลยต่อปัญหาการสุ่มตัวอย่าง นี่คือสิ่งที่มีประโยชน์ที่สุดในบทความนี้สำหรับคนที่กำลังเขียนบรีฟงานผลิต ถ้าโค้ดใหญ่พอและนิ่ง มันจะถูกอ่านแทบจะทันที ถ้ามันเล็กเกินไป มันจะไม่ถูกอ่านแม้คุณจะปล่อยไว้ตลอดช่วงพักโฆษณา
สองวิธีที่โฆษณาย่อโค้ดของตัวเองโดยไม่รู้ตัว
ทุกอย่างที่ผ่านมาตั้งอยู่บนสมมติฐานว่าเป็น URL ยาว 25 ตัวอักษรที่ระดับการแก้ไขข้อผิดพลาด M สมมติฐานทั้งสองข้อถูกทำลายเป็นประจำ และถูกทำลายโดยคนที่พยายามช่วย และทั้งสองข้อพังในแบบเดียวกัน คือเพิ่มโมดูล โค้ดยังขนาดเท่าเดิมบนจอ และแต่ละโมดูลเล็กลง
สตริงติดตาม
URL ของแคมเปญมาจากเอเจนซีสื่อพร้อมพารามิเตอร์วัดผลติดมาด้วย เพราะนั่นคือวิธีที่แคมเปญถูกนับผล ไม่มีใครดูว่ามันทำอะไรกับตารางของโค้ด
| URL | ตัวอักษร | เวอร์ชัน | โมดูล | พิกเซลต่อโมดูล | อัตราการอ่าน |
|---|---|---|---|---|---|
| รีไดเรกต์สั้นบนโดเมนที่คุณเป็นเจ้าของ | 12 | 2 | 25 | 4.15 | 100% |
| URL สั้นที่เขียนสคีมเต็ม | 27 | 3 | 29 | 3.70 | 100% |
| URL แคมเปญที่อ่านรู้เรื่อง | 46 | 4 | 33 | 3.34 | 93% |
| URL เดียวกันพร้อมพารามิเตอร์ UTM | 93 | 6 | 41 | 2.80 | 77% |
| URL เดียวกันพร้อมสตริงติดตามแบบเต็ม | 157 | 9 | 53 | 2.25 | 48% |
สตริงติดตามแบบเต็มตัดอัตราการอ่านของโค้ดที่นอกนั้นออกแบบมาถูกต้องแล้วลงครึ่งหนึ่ง และมันทำแบบนั้นในจังหวะที่ทีมการตลาดพยายามวัดผลแคมเปญหนักที่สุดพอดี ซึ่งทำให้มันเป็นตัวเต็งของรูปแบบที่ทำร้ายตัวเองที่สุดในเรื่องนี้ทั้งเรื่อง ทางแก้ไม่ใช่การเลิกวัดผล แต่คือการวางพาธสั้น ๆ บนโดเมนที่คุณเป็นเจ้าของไว้ข้างหน้าพารามิเตอร์ แล้วค่อยแปะพารามิเตอร์ตอนรีไดเรกต์ ซึ่งไม่มีต้นทุนอะไรเลย ส่วนรีไดเรกต์แบบเช่าใช้มีต้นทุนเท่าไรจริง ๆ ตลอดอายุแคมเปญเป็นอีกข้อโต้แย้งหนึ่ง และมันลงเอยที่คำแนะนำเดียวกัน
การเพิ่มระดับการแก้ไขข้อผิดพลาด
ปฏิกิริยาอีกอย่างคือการเพิ่มระดับการแก้ไขข้อผิดพลาด ด้วยทฤษฎีว่าสถานการณ์ที่อ่านยากขึ้นย่อมต้องการความซ้ำซ้อนมากขึ้น นั่นคือคันโยกที่ผิด และยังเป็นโทษด้วย ด้วยเหตุผลเดียวกับที่มันผิดเมื่อคอนทราสต์ต่ำ คือมันสร้างความซ้ำซ้อนด้วยการเพิ่มโมดูล และโมดูลคือสิ่งที่ขาดแคลนอยู่
| การแก้ไขข้อผิดพลาด | เวอร์ชัน | โมดูล | อัตราที่ 25% ของจอ | อัตราที่ 30% ของจอ |
|---|---|---|---|---|
| L | 2 | 25 | 100% | 100% |
| M | 3 | 29 | 99% | 100% |
| Q | 3 | 29 | 99% | 100% |
| H | 4 | 33 | 74% | 92% |
H มีไว้สำหรับโค้ดที่เปื้อน ฉีก ถูกพิมพ์ทับ หรือถูกโลโก้บังบางส่วน โค้ดบนจอทีวีไม่ใช่สักอย่างในนั้น มันถูกส่งมาสมบูรณ์ทุกพิกเซลแล้วค่อยถูกสุ่มตัวอย่างน้อยเกินไป และการสุ่มตัวอย่างน้อยเกินไปไม่ใช่ความเสียหายที่บล็อกแก้ไขข้อผิดพลาดจะซ่อมได้ เพราะมันขวางไม่ให้โมดูลถูกอ่านตั้งแต่แรก ใช้ L หรือ M บนจอ แล้วเอาโมดูลที่ประหยัดได้ไปใช้ทำให้แต่ละโมดูลใหญ่ขึ้น การแลกกันระหว่างความสามารถในการกู้คืนกับขนาดโมดูล ใช้ได้ที่นี่โดยไม่เปลี่ยนแปลง จอเพียงแค่อยู่ปลายด้านที่ความซ้ำซ้อนมีค่าน้อยที่สุดเท่านั้นเอง
เวลาคืองบที่ไม่มีใครจดเอาไว้
หัวข้อนี้เป็นการประมาณ ไม่ใช่การวัด และควรบอกไว้ก่อนตัวเลขมากกว่าบอกทีหลัง ไม่มีอะไรในชุดทดสอบที่วัดได้ว่าคนคนหนึ่งใช้เวลานานแค่ไหนในการตอบสนองต่อจอทีวี และเราก็ไม่ได้ทำการศึกษานั้น
ลำดับที่ผู้ชมต้องทำให้ครบไม่ได้สั้นเลย การสังเกตเห็นโค้ดและตัดสินใจว่าคุ้มจะลงมือใช้เวลาหนึ่งถึงสองวินาที การหยิบและปลดล็อกมือถือใช้สองถึงสี่วินาที การไปให้ถึงกล้องใช้อีกหนึ่งถึงสามวินาที และนานกว่านั้นถ้ามือถือเปิดค้างอยู่ที่หน้าจอเดิม การจัดเฟรมให้ทีวีอยู่ในภาพ รอให้โฟกัสอัตโนมัตินิ่ง แล้วถือให้นิ่ง ใช้อีกสองถึงสี่วินาที รวมแล้วหกถึงสิบสามวินาทีถ้าเริ่มจากศูนย์ ขณะที่เอนด์การ์ดปกติอยู่บนจอแค่สามถึงห้าวินาที
มีปัจจัยผ่อนหนักเป็นเบาอยู่หนึ่งข้อและมันควรได้เครดิต คนดูทีวีจำนวนมากถือมือถืออยู่แล้ว ซึ่งตัดขั้นตอนการหยิบและเกือบทั้งหมดของการปลดล็อกออกไป นั่นน่าจะเป็นเหตุผลทั้งหมดที่ทำให้ใครสักคนคิดว่าคิวอาร์โค้ดจะเวิร์กบนทีวี มันเป็นข้อโต้แย้งที่หนักแน่นว่าทำไมรูปแบบนี้ควรมีอยู่ แต่ไม่ใช่ข้อโต้แย้งให้เหลือสามวินาที เพราะสองขั้นตอนสุดท้าย คือการไปให้ถึงกล้อง แล้วเล็งและถือให้นิ่ง ไม่ได้สั้นลงเพราะมือถืออยู่ในมืออยู่แล้ว
คำแนะนำของเราเอง และขอบอกตามตรงว่านี่เป็นความเห็น คือแปดวินาทีของโค้ดที่นิ่งและมีขนาดถูกต้องคือขั้นต่ำที่ควรเขียนลงในบรีฟ และถ้างานครีเอทีฟยอมสละแปดวินาทีไม่ได้ ก็แปลว่างานครีเอทีฟตัดสินใจแล้วว่าโค้ดเป็นของประดับ นั่นเป็นการตัดสินใจที่ชอบธรรม เพียงแต่ไม่ควรเกิดขึ้นโดยบังเอิญแล้วค่อยถูกวัดผลเป็นอัตราการสแกนทีหลัง
โฆษณาที่ทุกคนจำได้คือโฆษณาที่ทำตามเลขคณิต
มีตัวอย่างค้านที่โด่งดังอยู่หนึ่งชิ้นสำหรับทั้งหมดนี้ และมันโด่งดังเพราะมันทำทุกอย่างที่บทความนี้แนะนำครบถ้วน ในเดือนกุมภาพันธ์ 2022 Coinbase ออกโฆษณาซูเปอร์โบว์ลความยาวหกสิบวินาทีที่ไม่มีอะไรเลยนอกจากคิวอาร์โค้ดเปลี่ยนสีลอยไปมาบนจอสีดำล้วน Variety และ CNN รายงานเรื่องนี้ในตอนนั้น และรายหลังรายงานส่วนที่ทุกคนจำได้ คือหน้าปลายทางได้ทราฟฟิกมากจนแอปล่ม
ลองวางเรื่องนี้เทียบกับตารางข้างบน โค้ดใหญ่ เพราะมันได้ทั้งเฟรม โค้ดอยู่ตัวเดียว จึงไม่มีอะไรมาแย่งความสนใจของผู้ชมหรือแย่งบิตของตัวเข้ารหัส มันอยู่บนจอหกสิบวินาทีแทนที่จะเป็นสี่ ซึ่งเท่ากับราว 1,800 เฟรมของกล้องให้ตัวถอดรหัสหาเฟรมสะอาดสักเฟรม และมันลอยช้า ๆ แทนที่จะตัดภาพหรือย่อขยาย ซึ่งทำให้โค้ดที่เคลื่อนไหวยังอยู่ในงบรอยลากต่อการเปิดรับแสง อันเป็นงบที่การเคลื่อนไหวเร็ว ๆ อยู่ไม่ได้
สิ่งเดียวที่โฆษณานั้นทำแล้วบทความนี้จะเตือนคือการเปลี่ยนสี และแม้แต่เรื่องนั้นก็ไม่ได้บ้าบิ่นอย่างที่เห็น พาเลตยังคงเป็นเข้มบนอ่อนหรืออ่อนบนเข้มตลอด แทนที่จะจับคู่สองโทนกลางเข้าด้วยกัน ซึ่งนั่นคือเส้นแบ่งที่ตัดสินจริง ๆ ว่าโค้ดสีจะรอดสายตากล้องหรือไม่ สิ่งที่มันไม่ได้ทำคือวางโค้ดเล็ก ๆ ไว้ที่มุมจอสี่วินาที
ข้อสรุปไม่ใช่ว่าทุกแบรนด์ควรซื้อเวลาหกสิบวินาทีในซูเปอร์โบว์ล แต่คือโฆษณาที่ถูกยกมาอ้างเสมอว่าเป็นหลักฐานว่าคิวอาร์โค้ดใช้ได้บนทีวี เป็นโฆษณาที่ทุ่มงบครีเอทีฟทั้งก้อนไปกับการทำให้ถูกต้องตามฟิสิกส์ ถ้ายกมาอ้างเป็นบรรทัดฐานให้กับโค้ดที่มุมเอนด์การ์ด มันพิสูจน์สิ่งตรงข้ามกับที่คนมักใช้มันพิสูจน์
ลองบนทีวีของคุณเองในสิบนาที
ตัวเลขทั้งหมดข้างบนเป็นตัวเลขของกล้องจำลองและตัวถอดรหัสที่อ่อนกว่าตัวที่อยู่ในกระเป๋าของผู้คน ตัวเลขที่สำคัญสำหรับแคมเปญหนึ่ง ๆ คือตัวเลขที่ไฟล์สำเร็จของแคมเปญนั้นทำได้ บนจอจริง จากโซฟาจริง และมันใช้เวลาสิบนาที
- เล่นไฟล์ที่ส่งมอบ ไม่ใช่มาสเตอร์. เอาไฟล์ส่งมอบจริงขึ้นทีวีจริง จะแคสต์ โหลดจากแฟลชไดรฟ์ หรืออัปโหลดเป็นวิดีโอแบบไม่แสดงในรายการบนแพลตฟอร์มปลายทางก็ได้ การรีวิวมาสเตอร์ ProRes บนจอที่คาลิเบรตแล้วคือการทดสอบที่ผ่านไปแล้วและไม่ได้บอกอะไรคุณเลย
- นั่งตรงที่คนนั่ง แล้วจดอัตราส่วนไว้. วัดระยะจากจอถึงโซฟา วัดความสูงของจอ แล้วหาร อัตราส่วนนั้นคือ k ในทุกตารางข้างบน และเป็นตัวเลขที่ทำให้คุณเทียบผลของตัวเองกับตารางได้ ค่าตั้งแต่สามถึงสี่จุดห้าถือเป็นห้องธรรมดา
- สแกนด้วยแอปกล้องของเครื่องสองรุ่น. iOS หนึ่งเครื่อง Android หนึ่งเครื่อง โดยใช้กล้องที่ติดมากับเครื่องแทนแอปสแกน แอปสแกนอดทนกว่าแอปกล้องของเครื่องและจะปล่อยผ่านโค้ดที่ผู้ชมของคุณอ่านไม่ได้ ให้เวลาแต่ละเครื่องห้าวินาที เท่าที่เอนด์การ์ดให้
- ทำแบบมักง่าย. ถือมือเดียว นั่งเอกเขนก ไม่ต้องเอาศอกยันอะไร ผลจากการทำอย่างตั้งใจไม่ใช่ผลจริง การเคลื่อนที่หนึ่งในสี่พิกเซลของกล้องระหว่างการเปิดรับแสงคืองบทั้งหมดที่มี และการเอาศอกยันมีค่ามากกว่านั้นอีก
- ทำการทดสอบควบคุมก่อนจะสรุปอะไร. เดินเข้าไปใกล้แล้วสแกนเฟรมนิ่งเดียวกันจากระยะหนึ่งเมตร ถ้าอันนั้นยังไม่ผ่าน ปัญหาคือคอนทราสต์ โซนเงียบ หรือเพย์โหลด ไม่ใช่ขนาด และการขยายโค้ดจะไม่ช่วยอะไร
- ขยับขึ้นทีละห้าเปอร์เซ็นต์จนผ่านสองครั้ง แล้วบวกอีกหนึ่งขั้น. เอ็กซ์พอร์ตใหม่โดยให้โค้ดใหญ่ขึ้นห้าเปอร์เซ็นต์ของความสูงจอ แล้วทำซ้ำจนมือถือทั้งสองเครื่องสแกนติดสองครั้งติดกันจากโซฟา จากนั้นบวกอีกหนึ่งขั้น ขั้นสุดท้ายนั้นคือเผื่อไว้ให้กับมือถือ ห้อง และสายตาที่การทดสอบครั้งนี้ไม่ได้ครอบคลุม
ถ้าคำตอบที่ได้กลับมาคือโค้ดต้องกินพื้นที่หนึ่งในสามของจอ นั่นคือคำตอบจริง และการรู้มันก่อนวันถ่ายทำมีค่ากว่าการรู้หลังรายงานสรุปแคมเปญ
แล้วควรใส่อะไรลงในโฆษณาแทน
คำแนะนำที่บทความนี้ปิดท้ายแคบกว่าชื่อเรื่องของมัน คิวอาร์โค้ดในโฆษณาวิดีโอไม่ได้ไร้ประโยชน์ มันแค่แพง ทั้งในแง่พื้นที่จอและในแง่วินาที และโฆษณาเกือบทุกชิ้นที่ใช้มันปฏิเสธที่จะจ่ายราคาทั้งสองอย่าง แล้วค่อยไปโทษรูปแบบทีหลัง
- ถ้าจะใช้โค้ด ให้มันหนึ่งในสี่ถึงหนึ่งในสามของความสูงจอ และแปดวินาทีแบบนิ่ง ๆ ในทางปฏิบัติแปลว่าโค้ดคือเอนด์การ์ด ไม่ใช่ของประดับบนเอนด์การ์ด นี่คือคำแนะนำทั้งหมด ที่เหลือในบทความนี้เป็นผลพวงของมัน
- คุมเพย์โหลดให้อยู่ราว 25 ตัวอักษร ใช้พาธสั้น ๆ บนโดเมนที่คุณเป็นเจ้าของ แล้วแปะพารามิเตอร์ติดตามตอนรีไดเรกต์แทนที่จะใส่ในโค้ด เรื่องนี้มีค่ามากกว่าการเปลี่ยนอย่างอื่นใดเพียงอย่างเดียว เพราะมันซื้อโมดูลคืนมาโดยไม่ต้องแลกอะไรเลย
- ใช้การแก้ไขข้อผิดพลาดระดับ L หรือ M ไม่ใช่ H บนจอ โค้ดถูกส่งมาโดยไม่เสียหายแล้วค่อยถูกสุ่มตัวอย่างน้อยเกินไป และความซ้ำซ้อนไม่ช่วยอะไรกับการสุ่มตัวอย่างน้อยเกินไป
- อย่าขยับ อย่าย่อขยาย อย่าหมุน และอย่าให้มันไถลเข้ามา งบของการเคลื่อนไหวต่ำกว่าหนึ่งพิกเซลของกล้องต่อการเปิดรับแสงอยู่มาก และแอนิเมชันทุกแบบอยู่นอกงบนั้นหลายเท่าตัวของเลขยกกำลัง เอาแอนิเมชันไปใส่กับทุกอย่างที่เหลือบนการ์ดแทน
- ถ้าโฆษณาจะถูกดูบนมือถือเป็นหลัก อย่าใช้โค้ดเลย จอที่กำลังเล่นโฆษณาคือจอที่จะต้องอ่านมัน และไม่มีอุปกรณ์เครื่องที่สอง ใช้รูปแบบที่แตะได้ซึ่งแพลตฟอร์มมีให้แทน
- ลองพิจารณา URL สั้น ๆ ที่ทั้งพูดออกเสียงและขึ้นเป็นตัวหนังสือ โดเมนที่จำง่ายซึ่งถูกอ่านออกเสียงและแสดงเป็นข้อความไม่มีขนาดเชิงมุมขั้นต่ำ ทนต่อการเคลื่อนไหว ใช้ได้บนจอมือถือ และไม่บังคับให้ผู้ชมต้องถืออะไรให้นิ่ง มันเปลี่ยนเป็นยอดได้แย่กว่าต่อการมองเห็นหนึ่งครั้ง แต่ก็ล้มเหลวแบบไม่เด็ดขาดเท่า และสำหรับเอนด์การ์ดสี่วินาที การแลกแบบนี้มักจะคุ้มกว่า
- โรงภาพยนตร์คือข้อยกเว้นที่ควรรู้ไว้ เลขคณิตชุดเดียวกันที่ตัดมุมจอทีวีทิ้ง กลับใจดีมากในโรงภาพยนตร์ เพราะจอกินมุมกว้างกว่ามากจากทุกที่นั่ง โค้ดที่ไม่มีทางรอดในบ้านอาจมีขนาดพอประมาณก็พอบนจอโรงภาพยนตร์
ขอบันทึกอย่างซื่อตรงเรื่องเครื่องมือของเราเอง เพราะบทความนี้เพิ่งแนะนำสิ่งที่เครื่องมือของเราทำไม่ได้ KoloQR ซึ่งเป็นเครื่องมือสร้างคิวอาร์โค้ดฟรีที่ทำคิวอาร์โค้ดทรงกลมและทรงกำหนดเองได้ ตรึงการแก้ไขข้อผิดพลาดไว้ที่ระดับ H เพราะมันเว้นพื้นที่กลางตารางไว้ให้โลโก้ และ H คือสิ่งที่จ่ายค่าพื้นที่นั้น นั่นคือค่าตั้งต้นที่ถูกต้องสำหรับโค้ดสิ่งพิมพ์ที่มีเครื่องหมายอยู่ตรงกลาง และเป็นค่าที่ผิดสำหรับจอ โค้ดที่เอ็กซ์พอร์ตจากเครื่องมือสร้างไปใช้ในโฆษณาวิดีโอจึงแบกเวอร์ชันเกินมาหนึ่งเวอร์ชัน ที่หนึ่งในสามของความสูงจอเรื่องนี้ไม่มีต้นทุนที่วัดได้ แต่ที่หนึ่งในห้า มันเป็นส่วนหนึ่งของเหตุผลที่หนึ่งในห้าใช้ไม่ได้
ข้อจำกัดของทั้งหมดข้างต้นคือข้อที่บอกไว้ตั้งแต่ต้น เราวัดสายงานที่เป็นซอฟต์แวร์ ไม่ใช่ห้องนั่งเล่นจริง งานนี้ไม่มีการเอามือถือไปเล็งจอทีวีเลย และตัวถอดรหัสที่เราใช้อ่อนกว่าตัวที่จะอ่านโฆษณาของคุณจริง ๆ แปลว่าหน้าผาของจริงอยู่ต่ำกว่าตัวเลขในตารางเหล่านี้ ไม่ใช่สูงกว่า สิ่งที่ตารางเหล่านี้มีไว้ทำคือบอกคุณว่าโค้ดที่มุมจออยู่ฝั่งไหนของหน้าผานั้น และมันไม่ใช่เรื่องที่สูสีเลย
สร้าง QR Code ของคุณ
ฟรี ไม่ต้องสมัครบัญชี ไม่มีลายน้ำ เลือกรูปทรง ใส่โลโก้ ตรวจคอนทราสต์ แล้วส่งออกเป็น SVG, PDF, EPS หรือ PNG ได้ โค้ดแบบสแตติกที่ไม่มีค่าสมัครสมาชิกอยู่เบื้องหลัง
สร้าง QR CodeQuestions? Answered
ราวหนึ่งในสี่ถึงหนึ่งในสามของความสูงจอ ในการวัดของเรา โค้ดที่ 25% ของความสูงจออ่านได้ 95% ของครั้งจากระยะห้องนั่งเล่นปกติ และที่ 30% อ่านได้ทุกครั้ง ขณะที่ 20% อ่านได้ 6% และเล็กกว่านั้นอ่านไม่ได้เลย คำตอบเป็นสัดส่วนไม่ใช่ขนาดเป็นเซนติเมตร เพราะคนนั่งไกลจากทีวีที่ใหญ่กว่า เปอร์เซ็นต์เดียวกันจึงใช้ได้กับทุกจอ
เพราะกล้องได้พิกเซลบนแต่ละช่องของตารางโค้ดไม่พอ ตัวถอดรหัสต้องการราวสองพิกเซลครึ่งของกล้องต่อโมดูล ส่วนโค้ดขนาดเท่ามุมจอบนทีวีที่มองจากสามเมตรให้ได้ราวหนึ่งพิกเซล ความล้มเหลวนี้ไม่ค่อยเป็นขั้นเป็นตอน ช่วงเปลี่ยนจากใช้ได้ไปเป็นหมดหวังกว้างราวหนึ่งในสี่พิกเซลต่อโมดูล โค้ดจึงอ่านติดทันทีหรือไม่ติดเลย ไม่ว่าคุณจะจ่อมือถือนานแค่ไหน
น้อยกว่าที่คนคิดกันมาก เราบีบมาสเตอร์ลงเหลือคุณภาพ JPEG 40 ซึ่งต่ำกว่าอะไรก็ตามที่สถานีหรือแพลตฟอร์มสตรีมมิงจะส่งออกมามาก แล้วอัตราการอ่านขยับแค่หนึ่งถึงสองจุดโดยที่เกณฑ์ความล้มเหลวไม่ขยับเลย สิ่งที่ทำลายคิวอาร์โค้ดบนทีวีไม่ใช่ตัวเข้ารหัส แต่คือระยะระหว่างจอกับผู้ชม และไม่มีบิตเรตเท่าไรที่จะซ่อมมันได้
อย่างน้อยแปดวินาที และนี่เป็นความเห็นไม่ใช่ผลการวัด ผู้ชมต้องสังเกตเห็นโค้ด หามือถือ ปลดล็อก ไปให้ถึงกล้อง จัดเฟรมทีวี แล้วถือให้นิ่ง รวมหกถึงสิบสามวินาทีถ้าเริ่มจากศูนย์ เทียบกับเอนด์การ์ดที่ปกติยาวสามถึงห้าวินาที เวลาที่เพิ่มขึ้นช่วยได้เฉพาะเมื่อโค้ดใหญ่พออยู่แล้ว เวลาบนจอซื้อความพยายามเพิ่มต่อปัญหาการเคลื่อนไหว และไม่ซื้ออะไรเลยต่อปัญหาขนาด
ได้เฉพาะเมื่อช้ามาก งบของการเคลื่อนไหวอยู่ที่ราวหนึ่งในแปดโมดูลของรอยลากระหว่างการเปิดรับแสงหนึ่งครั้ง ซึ่งสำหรับโค้ดขนาดทั่วไปคือระหว่างหนึ่งในสี่พิกเซลถึงหนึ่งพิกเซลของกล้อง หรือราวหนึ่งในสามสิบของความสูงจอต่อวินาทีของการลอย การไถลเข้า การดันกล้องเข้า การขยาย และการหมุน อยู่นอกงบนั้นหนึ่งถึงสองเท่าตัวของเลขยกกำลัง โค้ดจึงเป็นแค่ของประดับตลอดช่วงแอนิเมชัน และเพิ่งสแกนได้เมื่อมันหยุดนิ่ง
ไม่ ควรลดลง การแก้ไขข้อผิดพลาดเพิ่มความซ้ำซ้อนด้วยการเพิ่มโมดูล และเมื่อขนาดบนจอคงที่ โมดูลที่มากขึ้นแปลว่าพิกเซลของกล้องบนแต่ละโมดูลน้อยลง ในการวัดของเรา เพย์โหลดเดียวกันที่ระดับ H อ่านได้ 74% ของครั้ง ขณะที่ระดับ L และ M อ่านได้ 100% เพราะ H จ่ายไปทั้งเวอร์ชันเพื่อซ่อมความเสียหายที่จอไม่เคยก่อ การสุ่มตัวอย่างน้อยเกินไปไม่ใช่ความเสียหายที่การแก้ไขข้อผิดพลาดซ่อมได้ เพราะมันขวางไม่ให้โมดูลถูกอ่านตั้งแต่แรก
ยากขึ้นพอสมควร ที่ขนาดซึ่งโฆษณาวิดีโอใช้กัน URL แคมเปญยาว 46 ตัวอักษรเป็นโค้ด 33 โมดูล ส่วน URL เดียวกันพร้อมสตริงติดตามแบบเต็มยาว 157 ตัวอักษรและเป็น 53 โมดูล และเมื่อขนาดบนจอคงที่ ในการทดสอบของเรามันพาอัตราการอ่านจาก 93% ลงมาที่ 48% ให้ใส่พาธสั้น ๆ บนโดเมนที่คุณเป็นเจ้าของไว้ในโค้ด แล้วแปะพารามิเตอร์ตอนรีไดเรกต์ ซึ่งไม่มีต้นทุน
ได้ผลน้อยมาก และด้วยเหตุผลที่ไม่เกี่ยวกับขนาดเลย วิดีโอบนโซเชียลส่วนใหญ่ถูกดูบนมือถือ และจอที่กำลังเล่นโฆษณาก็คือจอเดียวกับที่จะต้องสแกนโค้ด ไม่มีอุปกรณ์เครื่องที่สองให้เล็ง ที่ใดที่แพลตฟอร์มมีลิงก์แบบแตะได้ นั่นดีกว่าอย่างชัดเจน โค้ดจะสมเหตุสมผลก็ต่อเมื่อวิดีโอโซเชียลนั้นถูกดูบนทีวีหรือจอคอมพิวเตอร์จริง ๆ
โรงภาพยนตร์เป็นกรณีที่เป็นมิตร เลขคณิตขึ้นกับมุมที่จอกินพื้นที่ในสายตาผู้ชมเท่านั้น และจอโรงภาพยนตร์กินมุมกว้างกว่าทีวีที่มองจากโซฟามากจากทุกที่นั่ง โค้ดขนาดพอประมาณจึงใช้ได้ดี ส่วนป้ายดิจิทัลต่างกันมหาศาลและต้องคำนวณทีละป้าย โค้ดบนจอใหญ่ที่อยู่ห่างจากทางเท้าห้าสิบเมตรอาจกินมุมเล็กกว่าโค้ดขนาดเท่ามือถือที่ถือด้วยแขนเหยียดสุดเสียอีก
เล่นไฟล์ที่ส่งมอบบนทีวีจริง นั่งตรงที่ผู้ชมจะนั่ง แล้วสแกนด้วยแอปกล้องที่ติดมากับเครื่องบนมือถือ iOS หนึ่งเครื่องและ Android หนึ่งเครื่อง ถือมือเดียวแบบมักง่าย ให้เวลาแต่ละเครื่องเท่ากับไม่กี่วินาทีที่เอนด์การ์ดให้ผู้ชม การทดสอบทุกครั้งที่ทำบนจอห้องตัดต่อหรือโน้ตบุ๊กจะผ่านหมด เพราะระยะเหล่านั้นใกล้กว่าโซฟาสองถึงสามเท่า และนั่นแหละคือเหตุผลที่ปัญหานี้รอดจากขั้นตอนการผลิตมาได้
สำรวจต่อ
หน้าที่ต่อจากหน้านี้ - บริบทเดียวกัน โค้ดชนิดเดียวกัน หรือสิ่งที่ต้องตัดสินใจต่อไป
ร้านค้าปลีก
ข้อมูลสินค้า สต๊อก และลิงก์รีวิว บนป้ายบนชั้น กระจกหน้าร้าน และป้ายที่แคชเชียร์
เอเจนซีอีเวนต์
โค้ดที่ผลิตให้อีเวนต์ของคนอื่น ทั้งรีไดเรกต์ของลูกค้า เอกสารสเปกสำหรับผู้ออกบูธ การพิมพ์บัตรประจำตัว และป้ายที่กำหนดขนาดตามห้องจริง
ยานพาหนะ
รถตู้ รถยนต์ และรถของบริษัท - ขนาดที่โค้ดต้องมีเมื่อมองจากทางเท้า และตำแหน่งบนตัวถังที่โค้ดจะรอดจากหมุดย้ำ ร่องประตู และคราบถนน
บิลบอร์ด
บิลบอร์ด ป้ายศาลาที่พักผู้โดยสาร และป้ายผนังอาคาร - สิ่งที่การคำนวณระยะเรียกร้องในสเกลนี้ และตำแหน่งที่มันบอกว่าไม่ควรมีโค้ดเลย
QR Code สร้างสรรค์
แนวทางออกแบบและตัวอย่างจริงของ QR Code ที่ดูตั้งใจ โดยไม่ยอมเสียความแน่นอนในการสแกน
ป้ายอยู่ได้สิบปี ส่วนค่าสมาชิกต่ออายุทุกเดือน
ลวดลายที่คุณพิมพ์บรรจุโดเมนของผู้ให้บริการไว้ ไม่ใช่โดเมนของคุณ นั่นคือเหตุผลที่แพ็กเกจซึ่งหมดอายุเปลี่ยนป้ายให้กลายเป็นวัตถุที่ตายแล้ว และเหตุผลที่โดเมนซึ่งคุณเป็นเจ้าของคือ QR Code แบบไดนามิกเวอร์ชันเดียวที่เคลื่อนย้ายได้
ทำไมต้อง KoloQR?
- สร้าง QR Code สำหรับเว็บไซต์ เมนู Wi-Fi ไฟล์ PDF และนามบัตร
- ปรับแต่งสี โลโก้ และรูปทรงที่ไม่เหมือนใคร
- ดาวน์โหลดไฟล์ PNG และ SVG คุณภาพสูง
- ออกแบบมาเพื่อทั้งงานพิมพ์และงานดิจิทัล

