"Inuti ISP-pipelinen i läspennans kamera: sensortrimning, AEC, AGC, AWB, brusreducering och hur plattformarna B1, B2, F8, K7, KF1, L5, P2, Q6, Q8, T2 och Y6 hanterar det."

Publicerat: nov 18, 2020 - 61 Visningar

Förklaring av ISP- och bildsignalprocessor-arkitektur i läspennans kamera

Målgrupp: Den här artikeln är skriven för hårdvaruingenjörer, OEM-produktchefer och bildkvalitetsansvariga hos importörer och förlag av läs-pennor som behöver förstå hur den inbyggda bildsignalprocessorn (ISP) i B1, B2, F8, K7, KF1, L5, P2, Q6, Q8, T2 och Y6 omvandlar rå CMOS Bayer-data till en ren, avkodad OID-bild. Vi utgår från att du har utvärderat minst en referensdesign och vill veta vad du ska förhandla om när du godkänner ett kontrakt för anpassad sensorjustering.

Varje läs-penna levereras med en kamera. Det köparinriktade databladet kallar den för en "OID-sensor" eller "OCR-kamera", men inuti höljet finns samma trestegs-pipeline som du hittar i en smartphone: CMOS-sensorn, den analoga frontänden och den digitala bildsignalprocessorn. Det som gör ISP-designen för läs-pennor ovanlig är driftsregistret. Pennan trycks mot papper på 0,5 mm till 1,2 mm arbetsavstånd, belyses av en smalbandig 850 nm eller 940 nm IR-LED, dras med 50 mm/s till 250 mm/s av en femåring och förväntas leverera en stabil binäriserad bild inom 100 ms. Den här artikeln går igenom hela ISP:n block för block, med uppmätta justeringsvärden för de 11 modeller vi levererar.

1. Varför läs-pennans kamera inte är en webbkamera

En läs-pennas kamera är en 1/13-tums till 1/9-tums gråskale- eller nära-IR CMOS-sensor med en aktiv yta på ungefär 1,2 mm gånger 0,9 mm, parerad med en fixed-focus gjuten PMMA-lins. Pixel-pitchen ligger mellan 2,2 µm och 3,0 µm, upplösningen är mellan 360 x 240 och 640 x 480, och den analoga frontänden kör 30 fps till 60 fps beroende på modell. Det verkliga narrativet ligger i driftsregistret:

  • Arbetsavstånd: 0,5 mm till 1,2 mm (jämfört med 200 mm till oändligheten för en telefonkamera).
  • Belysning: 850 nm eller 940 nm IR-LED, inte synligt ljus.
  • Objektreflektans: 0,05 mm till 0,10 mm tryckta prickar på bestruket papper med 30 % till 60 % IR-reflektans.
  • Rörelseprofil: 50 mm/s till 250 mm/s linjär pennrörelse med 5° till 15° vridning av spetsen.
  • Latensbudget: 80 ms till 120 ms från spets-nedtryck till första avkodade ljud.

Dessa begränsningar är anledningen till att ISP:n är en anpassad pipeline. Autoexponering måste konvergera inom 3 bildrutor efter penn-ned, inte 30. Autovitbalans ersätts av en kompenseringsslinga för LED-ström. Brusreduktion är justerad för papperstextur. Och utdata är en binär matris, inte en 8-bitars RGB-bild. Plattformarna B1, B2, F8, K7, KF1, L5, P2, Q6, Q8, T2 och Y6 kör alla en justerad ISP, men justeringen skiljer sig åt beroende på sensorleverantör och värd-SoC.

2. Sensorblocket: CMOS-pixel, analog frontände och ADC

Bildsensorn är den första länken i kedjan. På B1, B2, F8 och P2 använder vi en 1/13-tums VGA-upplösning gråskalesensor från en tier-1 kinesisk leverantör, bildhastighet 30 fps, pixel-pitch 2,8 µm. På K7, KF1, Q6 och Y6 är sensorn samma leverantörs 1/11-tums del, 60 fps, 2,5 µm pitch. L5, Q8 och T2 går upp till en 1/9-tums sensor med 2,2 µm pitch och 60 fps, vilket är anledningen till att dessa tre modeller känns skarpare vid skanning av täta läroböcker.

Varje pixel är en 4-transistor (4T) pinned fotodiodstruktur med en mikrolinsmatris som förbättrar fyllnadsfaktorn från ungefär 35 % till cirka 62 %. Den analoga frontänden inkluderar en programmerbar förstärkare (PGA) med 0 dB till 18 dB intervall i 0,3 dB steg, en 10-bitars kolumn-parallell ADC och en korrelerad dubbelprovtagningskrets (CDS) som minskar kTC-resetbrus med ungefär 6 dB. Den 10-bitars råa strömmen matas till ISP:n via ett 8-lane MIPI CSI-2-gränssnitt vid 200 Mbps per lane i L5, Q8 och T2, och ett 4-lane parallellt gränssnitt vid 100 Mbps i övriga.

Parameter B1 / B2 / F8 / P2 K7 / KF1 / Q6 / Y6 L5 / Q8 / T2
Optiskt format 1/13" 1/11" 1/9"
Aktiva pixlar 640 x 480 640 x 480 720 x 540
Pixel-pitch 2,8 µm 2,5 µm 2,2 µm
Bildhastighet 30 fps 60 fps 60 fps
Bitdjup 10-bit 10-bit 10-bit
Gränssnitt Parallellt 4-lane Parallellt 4-lane MIPI CSI-2 8-lane
Dynamiskt omfång 62 dB 66 dB 70 dB

Köpartips: Be alltid om ett uppmätt SNR10-värde. En 60 fps-sensor med SNR10 under 32 dB ger fler igenkänningsfel än en 30 fps-sensor på 38 dB. Våra L5, Q8 och T2 når 38 dB till 40 dB SNR10 vid full förstärkning.

3. ISP:ns frontände: svartnivå, linsskuggning och korrigering av defekta pixlar

Rå sensordata anländer till ISP:ns frontände med tre strukturerade artefakter: svartnivåoffset, linsskuggning och isolerade defekta pixlar. Varje måste tas bort innan någon rumslig filtrering kan köras.

Svartnivåkorrigering subtraherar ett per-kanal pedestalvärde som lagras i OTP-minnet på sensormodulen. För våra 850 nm-delar är pedestalern typiskt 64 till 96 LSB av 1024, för 940 nm-delar 80 till 120 LSB. ISP:n läser pedestalern vid uppstart och tillämpar den bildruta för bildruta. Utan detta steg skulle tröskeln för efterföljande binärisering driva med 6 % till 9 %, tillräckligt för att vända en 0,07 mm prick från "svart" till "vit" och korrupta OID-rastret.

Linsskuggningskorrigering tillämpar ett 5 x 5 till 9 x 9 förstärkningsnät över bilden, med nätkoefficienter också lagrade i OTP. Centrumpixlar får förstärkning 1,00, hörnpixlar får förstärkning 1,18 till 1,32. Vi justerar nätet vid vår optikstation med ett uniformt 90 % reflektansmål vid det nominella arbetsavståndet 0,8 mm. Hörnens ljusstyrkeuniformitet efter skuggningskorrigering är 96 % till 98 % över alla 11 modeller.

Korrigering av defekta pixlar identifierar pixlar som avviker med mer än 30 LSB från sina 8 grannar, markerar dem i en runtime-karta och interpolerar dem med ett medianfilter. Defekthastigheten från sensorleverantören är under 0,02 %, så en 640 x 480-sensor levereras med 50 till 70 defekta pixlar. ISP:n uppdaterar kartan över defekta pixlar var 50:e bildruta för att fånga mjuka defekter som utvecklas med termisk cykling.

4. Slingan för autoexponering och LED-strömstyrning

En läs-penna har ingen mekanisk iris. Ljuset som når sensorn styrs av IR-LED-ström, LED-pulsbredd och sensorns elektroniska exponeringstid. ISP:n kör en sluten AEC-reglerkrets (autoexponering) som siktar mot ett bildmedelvärde på 130 LSB av 255 efter gamma, med ett acceptansfönster på 110 till 150 LSB.

Slingan körs vid 60 Hz i L5, Q8 och T2 och 30 Hz i de övriga 8 modellerna. Vid penn-nedtryck går regulatorn in i "snabb konvergens"-läge: den ställer LED-strömmen till ett förberäknat startvärde (8 mA till 14 mA) och använder en hög proportionell förstärkning under de första 3 bilderna. Konvergens inom ±10 LSB av målet uppnås på 35 ms till 50 ms.

LED-strömmen är pulsad, inte kontinuerlig. Duty cycle är 8 % till 15 % med en toppström på 40 mA till 80 mA, vilket ger en genomsnittlig strömförbrukning på 4 mA till 10 mA. Pulsning håller LED-övergångstemperaturen under 45 °C och förlänger LED-livslängden till en beräknad 50 000 timmar vid 25 °C omgivning. ISP:n synkroniserar LED-pulsen med sensorns vertikala synk.


AEC Convergence from Pen-Down (Mean LSB vs Time, L5/Q8/T2 at 60 fps)

5. Autoförstärkning, denoising och skärpning

När AEC har låst tillämpar AGC-blocket (autoförstärkningskontroll) en finkornig analog förstärkning på 0 dB till 12 dB för att trycka signalen till den övre halvan av ADC-omfånget. AGC är en andra stegs AEC med finare upplösning. Kombinerat dynamiskt omfång är 72 dB till 78 dB över de 11 modellerna.

Denoising är ett 3 x 3 till 5 x 5 bilateralt filter som bevarar kanter. Styrkan är justerad till 0,35 för B1, B2, P2 och F8 och 0,55 för K7, KF1, Q6, Y6, L5, Q8 och T2. Bilateral filtrering minskar tidsbrus med 4 dB till 6 dB och rumsligt brus med 3 dB till 5 dB, med kantbevarande över 0,85 korrelation.

Skärpning använder en 3 x 3 unsharp mask med förstärkning 0,4 till 0,7 och tröskelvärde 8 LSB till 14 LSB. Målet är att återställa kantens skärpa som går förlorad vid brusreducering, eftersom binariseringen nedströms är beroende av rena punktgränser. Överskärpning orsakar ringningar runt punkterna och ger falska positiva identifieringar i rutnätsdetekteringen. Inställningen ger punktkantens stigtid till 1,2 pixlar till 1,8 pixlar.

6. Gamma, tonmappning och vägen till binarisering

De flesta ISP:er i lässpennor kör en styckvis gammakurva på 1,6 till 1,8 för att lyfta mittonerna. Efter gamma omvandlas bilden från 10-bitars linjär till 8-bitars log-domän. ISP:n förgrenar sig: OCR-/OID-grenen kör en global eller lokal tröskelbaserad binarisering, medan förhandsvisningsgrenen (endast på L5, Q8 och T2 med LCD-tillvalet) kör en histogramutjämning för mänsklig visning.

För OID-grenen beräknas binariseringströskeln på två sätt. I "statiskt" läge är tröskeln ett fast värde på 128 LSB, vilket används när LED-strömmen är stabil. I "adaptivt" läge, standard på K7, KF1, Q6, Y6, L5, Q8 och T2, beräknas tröskeln från ett 32 x 32 lokalt medelvärde med en offset på 16 LSB. Adaptiv binarisering minskar punktdetekteringsfelen med 35% till 50% på papper med tryckta bakgrunder.

ISP-utgången är en ren 1-bitars eller 8-bitars gråskalebild, ramsynkroniserad med penn-ned-avbrottet. Bilden skickas till OID-avkodaren eller OCR-motorn via en delad SRAM-ringbuffert. Total ISP-latens, från sensorns integration klar till binariserad bild redo, är mellan 22 ms och 38 ms.

Modell ISP-genomströmning Total latens Adaptiv binarisering
B1 / B2 / P2 30 fps 38 ms Endast statisk
F8 30 fps 35 ms Statisk (firmware 3.1.2 stödjer med adaptiv)
K7 / KF1 60 fps 28 ms Adaptiv (firmware 1.9.5)
Q6 / Y6 60 fps 26 ms Adaptiv (firmware 3.3.1)
L5 / Q8 / T2 60 fps 22 ms Adaptiv + lokalt histogram

7. Vitbalans är ett specialfall: LED-kompensation

Auto-vitbalans finns inte i en lässpenna eftersom sensorn är monokrom och belysningen är en enda IR-våglängd. Det som finns är en LED-kompensationsloop som kompenserar för:

  1. LED-ljusstyrkans fall när junction-temperaturen ökar under skanning.
  2. Variation i papperets reflektans mellan vita och tonade (cream, ljusblå) boksidor.
  3. Batterispänningens fall från 4,2 V till 3,5 V, vilket minskar LED-strömmen med 12% till 18%.

Kompensationen är en mjukvaruslinga som körs vid 10 Hz, läser bildens medelvärde från ISP-statistikmotorn och justerar LED-strömmens börvärde med ±2 mA. På L5, Q8 och T2 kompenserar slingan också för omgivningstemperaturen med hjälp av en on-die-sensor och håller LED:ens junction-temperatur på 38 °C ± 3 °C över 0 °C till 40 °C.

8. Strömförbrukning i ISP-blocket

ISP-blocket är den största stationära strömförbrukaren i pennan, efter audioförstärkaren. Uppmätt strömfördelning för L5 vid 60 fps kontinuerlig skanning:

Block Effekt (mW) Andel
CMOS-sensor + AFE 38 16%
ISP digital kärna 72 30%
LED-drivare 86 36%
DRAM-bandbredd 24 10%
Övrigt (klocka, IO) 18 8%
Totalt 238 100%

Vid 238 mW genomsnittlig skanneffekt ger L5:s 1200 mAh-batteri på 3,7 V (4,44 Wh) cirka 18 timmars aktiv skanning, även om den angivna "speltiden" på 8,5 timmar inkluderar ljuduppspelning och bakgrundsbelysning. Övriga modeller skalas proportionellt: T2 med 2500 mAh når 14 timmars kontinuerlig skanning, P2 med 500 mAh når 4,0 timmar och B1 med 700 mAh når 5,0 timmar.

Köpartips: När du utvärderar påståenden om "batteritid", be om testprofilen. En penna märkt "8 timmar" vid 20% skanningsdriftcykel ger 4 timmar vid 50% skanningsdriftcykel. Våra publicerade siffror använder en profil med 40% skanning, 30% ljud och 30% standby, närmare klassrumss verklighet.

9. Inställning, kalibrering och kvalitetsgrindar

Varje sensormodul ställs in vid vår optikstation före laminering. Fixturen presenterar 7 referensmål: vitt kort, grått kort (18% reflektans), svart kort, punktgitter med 0,07 mm stigning, punktgitter med 0,05 mm stigning, textprov och ett påfrestat pappersprov med simulerat kaffefläck. ISP-parametersatsen genereras per modul och lagras i OTP. Utbytet är 96,4% över de 11 modellerna; 3,6% kassationsandel domineras av linsdecentrering och kluster med defekta pixlar.

AQL på ISP-inställningslinjen är II-nivå: Kritiska 0, Major 1,0, Minor 2,5. Ett "Major"-defekt här inkluderar AEC-konvergens långsammare än 70 ms, hörnjämnhet under 92%, eller SNR10 under 32 dB. Allt i dessa tre kategorier går till omarbetning eller kassation. Vi publicerar ISP-inställningsrapporten per modell med varje produktionsbatch.

10. Så specificerar du ISP-krav i en OEM-förfrågan

För köpare som skriver en OEM- eller ODM-specifikation bör ISP-kravssektionen referera till mätbara parametrar, inte marknadsföringspåståenden:

  • SNR10 vid full förstärkning ≥ 36 dB för K7 / KF1 / Q6 / Y6 / L5 / Q8 / T2; ≥ 32 dB för B1 / B2 / F8 / P2.
  • AEC-konvergens till ±10 LSB av målet inom 50 ms (60 fps-sensorer) eller 70 ms (30 fps-sensorer).
  • Hörnens ljusstyrkejämnhet ≥ 95%.
  • Total ISP-latens ≤ 30 ms för 60 fps-sensorer, ≤ 40 ms för 30 fps-sensorer.
  • Stöd för adaptiv binarisering i firmware.
  • LED-kompensationsslinga med dokumentation av temperaturkoefficienten.

Om en leverantör inte kan förbinda sig till siffror i ovanstående format är sensorinställningen ännu inte produktionsklar. För OCR-motorn som konsumerar ISP-utdata, se Reading Pen OCR Engine vs Deep Learning OCR. För bildkvalitet på displaysidan för L5, Q8 och T2, se Reading Pen Display Luminance Uniformity. För OID-avkodaren, se How OID Reading Pen Technology Works. För att begära en provexemplar med ISP-inställningsrapporten, se /request-a-quote.

ISP Pipeline Power Distribution by Block (L5 at 60 fps)

Relaterad läsning

Request a Quote — Get a Fast Factory Response

Frequently Asked Questions

Vilken bildhastighet kör läspennans kameras ISP med över de 11 modellerna?
B1, B2, F8 och P2 använder en 1/13-tums 30 fps-sensor; K7, KF1, Q6 och Y6 använder en 1/11-tums 60 fps-sensor; L5, Q8 och T2 använder en 1/9-tums 60 fps-sensor. Högre bildhastighet förbättrar igenkänningen vid snabb pennrörelse: vid 200 mm/s skannhastighet fångar en 60 fps-sensor cirka 33 % fler bilder per centimeter förflyttning än en 30 fps-sensor.
Hur snabbt konvergerar autoexponeringen när pennan vidrör sidan?
AEC-loopen konvergerar till inom plus eller minus 10 LSB av 130 LSB-målet på 35 till 50 ms på L5, Q8 och T2 vid 60 fps, och på 60 till 70 ms på 30 fps-modellerna. Loopen går in i ett snabbkonvergensläge vid penn-nedtryckning med en förberäknad LED-startström på 8 till 14 mA.
Stöder läspennans ISP färg eller endast gråskala?
Alla 11 produktionsmodeller levereras med en monokrom IR-sensor (850 nm på B1, B2, F8, P2; 940 nm på K7, KF1, Q6, Y6, L5, Q8, T2). Färg är onödigt eftersom OID-koden är tryckt i IR-absorberande bläck och den enda meningsfulla signalen är luminans mellan prick och bakgrund. Att lägga till en färgsensor skulle öka BOM-kostnaden med cirka 1,20 USD per enhet utan någon igenkänningsfördel.
Vad är uppmätt SNR10 för läspennans sensor vid full förstärkning?
Vid den AEC-låsta driftpunkten och full AGC mäter B1, B2, F8 och P2 33 till 35 dB SNR10; K7, KF1, Q6 och Y6 mäter 35 till 37 dB SNR10; och L5, Q8 och T2 mäter 38 till 40 dB SNR10. Produktionens AQL avvisar alla moduler under 32 dB för den lägre nivån eller 36 dB för den övre nivån.
Hur mycket ström förbrukar ISP-blocket vid kontinuerlig skanning?
På L5 vid 60 fps kontinuerlig skanning drar ISP-sökvägen cirka 238 mW: 38 mW för CMOS-sensorn och den analoga frontänden, 72 mW för ISP-digitalkärnan, 86 mW för LED-drivaren, 24 mW för DRAM-bandbredd och 18 mW för klocka och IO. Lägre nivås modeller skalar ner till cirka 165 till 190 mW vid 30 fps.
Din varukorg
Din upplevelse på denna webbplats förbättras genom att tillåta cookies. Cookies-policy
Chat on WhatsApp