Målgruppe: Denne artikel er henvendt til hardwareingeniører, OEM-produktchefer og billedkvalitetsansvarlige hos importører og forlag af læsepenne, som har brug for at forstå, hvordan den indbyggede billedsignalprocessor (ISP) i B1, B2, F8, K7, KF1, L5, P2, Q6, Q8, T2 og Y6 omdanner rå CMOS bayer-data til et rent, afkodet OID-billede. Vi antager, at du har evalueret mindst ét referencedesign og vil vide, hvad du skal forhandle, når du godkender en kontrakt om tilpasset sensortuning.
Hver læsepen leveres med et kamera. Det købervendte datablad kalder det en "OID-sensor" eller "OCR-kamera", men inde i kabinettet sidder den samme tretrins-pipeline, som man finder i en smartphone: CMOS-sensoren, den analoge front-end og den digitale billedsignalprocessor. Det, der gør ISP-designet til en læsepen usædvanligt, er driftsrammen. Pennen presses mod papiret med en arbejdsafstand på 0,5 mm til 1,2 mm, oplyses af en smalbåndet IR-LED på 850 nm eller 940 nm, trækkes med 50 mm/s til 250 mm/s af en femårig og forventes at levere et stabilt binariseret billede inden for 100 ms. Denne artikel gennemgår hele ISP-blok for blok med målte tuningtal på tværs af de 11 modeller, vi sender på markedet.
1. Hvorfor læsepennens kamera ikke er et webcam
Et læsepennekamera er en 1/13-tomme til 1/9-tomme gråskala- eller nær-IR CMOS-sensor med et aktivt areal på ca. 1,2 mm x 0,9 mm, parret med en fastfokuseret støbt PMMA-linse. Pixelpitch er mellem 2,2 µm og 3,0 µm, opløsningen er mellem 360 x 240 og 640 x 480, og den analoge frontend kører ved 30 fps til 60 fps afhængigt af model. Den virkelige historie ligger i driftsrammen:
- Arbejdsafstand: 0,5 mm til 1,2 mm (mod 200 mm til uendeligt for et telefonkamera).
- Belysning: 850 nm eller 940 nm IR-LED, ikke synligt lys.
- Objektreflektans: 0,05 mm til 0,10 mm trykte udbud på coated papir ved 30 % til 60 % IR-reflektans.
- Bevægelsesprofil: 50 mm/s til 250 mm/s lineær pennebevægelse med 5° til 15° spidsrotation.
- Latency-budget: 80 ms til 120 ms fra spidskontakt til første afkodede lyd.
Disse begrænsninger er grunden til, at ISP'en er en tilpasset pipeline. Autoeksponering skal konvergere inden for 3 billeder efter pen-down, ikke 30. Autohvidbalance erstattes af en kompensationssløjfe for LED-strøm. Støjreduktion er tunet til papirtekstur. Og outputtet er en binær matrix, ikke et 8-bit RGB-billede. Platformene B1, B2, F8, K7, KF1, L5, P2, Q6, Q8, T2 og Y6 kører alle en tunet ISP, men tuning varierer efter sensorleverandør og host-SoC.
2. Sensorblokken: CMOS-pixel, analog frontend og ADC
Billedsensoren er det første led i kæden. På B1, B2, F8 og P2 bruger vi en 1/13-tomme VGA-opløsnings gråskala-sensor fra en kinesisk leverandør i tier 1, billedhastighed 30 fps, pixelpitch 2,8 µm. På K7, KF1, Q6 og Y6 er sensoren den samme leverandørs 1/11-tomme del, 60 fps, 2,5 µm pitch. L5, Q8 og T2 går op til en 1/9-tomme sensor med 2,2 µm pitch og 60 fps, hvilket er grunden til, at disse tre modeller føles skarpere ved scanning af tætte lærebøger.
Hver pixel er en 4-transistor (4T) pinned photodiode-struktur med et mikro-linse-array, der forbedrer fyldfaktoren fra ca. 35 % til ca. 62 %. Den analoge frontend inkluderer en programmerbar gain-forstærker (PGA) med 0 dB til 18 dB område i trin på 0,3 dB, en 10-bit kolonneparallel ADC og et korreleret dobbelt-sampling (CDS)-kredsløb, der reducerer kTC-resetstøj med ca. 6 dB. Den 10-bit rå strøm føres til ISP'en via en 8-lane MIPI CSI-2-grænseflade ved 200 Mbps pr. lane i L5, Q8 og T2 og en 4-lane parallel grænseflade ved 100 Mbps andre steder.
| Parameter | B1 / B2 / F8 / P2 | K7 / KF1 / Q6 / Y6 | L5 / Q8 / T2 |
|---|---|---|---|
| Optisk format | 1/13" | 1/11" | 1/9" |
| Aktive pixels | 640 x 480 | 640 x 480 | 720 x 540 |
| Pixelpitch | 2,8 µm | 2,5 µm | 2,2 µm |
| Billedhastighed | 30 fps | 60 fps | 60 fps |
| Bitdybde | 10-bit | 10-bit | 10-bit |
| Grænseflade | Parallel 4-lane | Parallel 4-lane | MIPI CSI-2 8-lane |
| Dynamisk område | 62 dB | 66 dB | 70 dB |
Køber-tip: Bed altid om en målt SNR10-værdi. En 60 fps-sensor med SNR10 under 32 dB vil give flere genkendelsesfejl end en 30 fps-sensor ved 38 dB. Vores L5, Q8 og T2 rammer 38 dB til 40 dB SNR10 ved fuld gain.
3. ISP-frontenden: sortniveau, linseskygge og korrektion af dårlige pixels
Rå sensordata ankommer til ISP-frontenden med tre strukturerede artefakter: sortniveauoffset, linseskygge og isolerede dårlige pixels. Hver skal fjernes, før rumlig filtrering kan køre.
Sortniveaukorrektion trækker en per-kanal pedestalværdi fra, som er gemt i OTP-hukommelsen på sensormodulet. For vores 850 nm-dele er pedestalen typisk 64 til 96 LSB ud af 1024, og for 940 nm-dele 80 til 120 LSB. ISP'en læser pedestalen ved opstart og anvender den billede for billede. Uden dette trin ville den nedstrøms binariseringstærskel drive med 6 % til 9 %, nok til at vende en 0,07 mm-prik fra "sort" til "hvid" og ødelægge OID-nettet.
Linseskyggekorrektion anvender et 5 x 5 til 9 x 9 gain-net over billedet, med netkoefficienter også lagret i OTP. Midterpixels modtager gain 1,00, hjørnepixels modtager gain 1,18 til 1,32. Vi tuner nettet på vores optikstation ved hjælp af et ensartet 90 % reflektansmål ved den nominelle 0,8 mm arbejdsafstand. Hjørnelysstyrkeens ensartethed efter skyggekorrektion er 96 % til 98 % på tværs af alle 11 modeller.
Korrektion af dårlige pixels identificerer pixels, der afviger mere end 30 LSB fra deres 8 naboer, markerer dem i et runtime-kort og interpolerer dem ved hjælp af et medianfilter. Defektraten fra sensorleverandøren er under 0,02 %, så en 640 x 480-sensor leveres med 50 til 70 dårlige pixels. ISP'en opdaterer det dårlige-pixel-kort hver 50 billeder for at fange bløde defekter, der udvikles med termisk cykling.
4. Autoeksponerings- og LED-strømstyringssløjfen
En læsepen har ingen mekanisk iris. Lys, der når sensoren, styres af IR-LED-strøm, LED-pulsbredde og sensorens elektroniske eksponeringstid. ISP'en kører en lukket sløjfe AEC (autoeksponering)-controller med mål om en billedmiddelværdi på 130 LSB ud af 255 efter gamma, med et acceptvindue på 110 til 150 LSB.
Sløjfen kører ved 60 Hz i L5, Q8 og T2 og 30 Hz i de øvrige 8 modeller. Ved pen-down går controlleren i "hurtig konvergering"-tilstand: den snapper LED-strømmen til en forudberegnet startværdi (8 mA til 14 mA) og bruger en høj proportional gain for de første 3 billeder. Konvergens til inden for ±10 LSB af målet opnås på 35 ms til 50 ms.
LED-strøm pulseres, ikke kontinuerligt. Driftscyklussen er 8 % til 15 % med en spidsstrøm på 40 mA til 80 mA, hvilket giver et gennemsnitligt strømforbrug på 4 mA til 10 mA. Pulsning holder LED'ens junktionstemperatur under 45 °C og forlænger LED-levetiden til en beregnet 50.000 timer ved 25 °C omgivende temperatur. ISP'en synkroniserer LED-pulsen med sensorens vertikale synkronisering.
5. Autogain, denoising og skarphed
Når AEC låser, anvender AGC-blokken (autogain-styring) en finkornet analog gain på 0 dB til 12 dB for at skubbe signalet til den øverste halvdel af ADC-området. AGC er en anden-trins AEC med finere opløsning. Det kombinerede dynamiske område er 72 dB til 78 dB på tværs af de 11 modeller.
Denoising er et 3 x 3 til 5 x 5 bilateralfilter, der bevarer kanter. Styrken er tunet til 0,35 for B1, B2, P2 og F8 og 0,55 for K7, KF1, Q6, Y6, L5, Q8 og T2. Bilateralfiltrering reducerer temporal støj med 4 dB til 6 dB og spatial støj med 3 dB til 5 dB, med kantbevarelse over 0,85-korrelation.
Skarphed anvender et 3 x 3 unsharp mask med gain 0,4 til 0,7 og threshold 8 LSB til 14 LSB. Målet er at genskabe kanternes skarphed, der går tabt under denoise, fordi binariseringen nedstrøms afhænger af rene punktgrænser. Overskarphed forårsager ringing omkring punkterne, hvilket giver falske positiver i grid-detektion. Ved tuning placeres punktkantens stigningsafstand på 1,2 pixels til 1,8 pixels.
6. Gamma, Tone Mapping og vejen mod binarisering
De fleste reading pen ISP'er kører en stykkevis gamma-kurve på 1,6 til 1,8 for at løfte mellemtonerne. Efter gamma konverteres billedet fra 10-bit lineær til 8-bit log-domæne. ISP'en forgrener sig: OCR / OID-stien kører en global eller lokal threshold-binarisering, mens display-preview-stien (kun på L5, Q8 og T2 med LCD-tilvalget) kører en histogram-equalization til menneskelig visning.
For OID-stien beregnes binariserings-threshold på to måder. I "static"-tilstand er threshold en fast 128 LSB, brugt når LED-strømmen er stabil. I "adaptive"-tilstand, standard på K7, KF1, Q6, Y6, L5, Q8 og T2, beregnes threshold ud fra et 32 x 32 lokalt middelværdi med 16 LSB offset. Adaptiv binarisering reducerer punkt-detekteringsfejl med 35% til 50% på papir med trykte baggrunde.
ISP-outputtet er et rent 1-bit eller 8-bit gråtonebillede, ramesynkroniseret til pen-down-interruptet. Billedet overføres til OID-dekoderen eller OCR-motoren via en delt SRAM-ringbuffer. End-to-end ISP-latens, fra sensorintegration fuldført til binariseret billede klar, er mellem 22 ms og 38 ms.
| Model | ISP-gennemløb | End-to-end-latens | Adaptiv binarisering |
|---|---|---|---|
| B1 / B2 / P2 | 30 fps | 38 ms | Kun static |
| F8 | 30 fps | 35 ms | Static (firmware 3.1.2 understøtter adaptive) |
| K7 / KF1 | 60 fps | 28 ms | Adaptive (firmware 1.9.5) |
| Q6 / Y6 | 60 fps | 26 ms | Adaptive (firmware 3.3.1) |
| L5 / Q8 / T2 | 60 fps | 22 ms | Adaptiv + lokalt histogram |
7. Hvidbalance er et særtilfælde: LED-kompensation
Auto-hvidbalance findes ikke i en reading pen, fordi sensoren er monokrom og belysningen er en enkelt IR-bølgelængde. Det, der findes, er en LED-kompensationsløkke, der kompenserer for:
- LED-lysstyrkefald efterhånden som junction-temperaturen stiger under scanning.
- Variation i papirreflektans mellem hvide og tonede (creme, lyseblå) bogopslag.
- Batterispændingsfald fra 4,2 V til 3,5 V, hvilket reducerer LED-strømmen med 12% til 18%.
Kompensationen er en software-loop, der kører ved 10 Hz, læser billedmiddelværdien fra ISP-statistikmodulet og justerer LED-strømsætpunktet med ±2 mA. På L5, Q8 og T2 kompenserer loopen også for omgivende temperatur ved hjælp af en on-die-sensor og holder LED-junction-temperaturen på 38 °C ± 3 °C fra 0 °C til 40 °C.
8. Strømforbrug i ISP-blokken
ISP-blokken er den største steady-state strømforbruger i pennen efter audio-forstærkeren. Målt strømfordeling for L5 ved 60 fps kontinuerlig scanning:
| Blok | Effekt (mW) | Andel |
|---|---|---|
| CMOS-sensor + AFE | 38 | 16% |
| ISP-digitalkerne | 72 | 30% |
| LED-driver | 86 | 36% |
| DRAM-båndbredde | 24 | 10% |
| Andet (clock, IO) | 18 | 8% |
| Total | 238 | 100% |
Ved 238 mW gennemsnitlig scanneeffekt holder L5's 1200 mAh-batteri ved 3,7 V (4,44 Wh) til ca. 18 timers aktiv scanning, selvom den nominelle "spilletid" på 8,5 timer tager højde for lydgengivelse og baggrundslys. Andre modeller skalerer proportionalt: T2 med 2500 mAh opnår 14 timers kontinuerlig scanning, P2 med 500 mAh når 4,0 timer, og B1 med 700 mAh når 5,0 timer.
Køber-tip: Når du vurderer påstande om »batterilevetid«, så bed om testprofilen. En pen, der er angivet til »8 timer« ved 20% scanningsdriftscyklus, leverer kun 4 timer ved 50% scanningsdriftscyklus. Vores offentliggjorte tal bruger en profil med 40% scanning, 30% lyd og 30% standby – tættere på virkeligheden i klasselokalet.
9. Tuning, kalibrering og kvalitetsporte
Hvert sensormodul tunes på vores optiske station før laminering. Fixturen præsenterer 7 referenced Targets: hvidt kort, gråt kort (18% reflektans), sort kort, punktgitter med 0,07 mm pitch, punktgitter med 0,05 mm pitch, teksteksempel og en belastet papirprøve med simuleret kaffelplet. ISP-parametersættet genereres pr. modul og gemmes i OTP. Udbyttet er 96,4% på tværs af de 11 modeller; de 3,6%, der kasseres, domineres af linse-decentrering og defekte pixelklynger.
AQL på ISP-tunelinjen er på II-niveau: Kritisk 0, Major 1,0, Minor 2,5. En »Major«-defekt inkluderer her AEC-konvergens langsommere end 70 ms, hjørnens ensartethed under 92% eller SNR10 under 32 dB. Alt i disse tre kategorier sendes til omarbejdning eller kassation. Vi offentliggør ISP-tuneringsrapporten pr. model med hver produktionsbatch.
10. Sådan specificerer du ISP-krav i en OEM-RFQ
For indkøbere, der skriver en OEM- eller ODM-specifikation, skal ISP-kravsafsnittet referere til målbare parametre – ikke marketingpåstande:
- SNR10 ved fuld forstærkning ≥ 36 dB for K7 / KF1 / Q6 / Y6 / L5 / Q8 / T2; ≥ 32 dB for B1 / B2 / F8 / P2.
- AEC-konvergens til ±10 LSB af målværdien inden for 50 ms (60 fps-sensorer) eller 70 ms (30 fps-sensorer).
- Ensartethed i hjørnelysstyrke ≥ 95%.
- Ende-til-ende ISP-latens ≤ 30 ms for 60 fps-sensorer, ≤ 40 ms for 30 fps-sensorer.
- Understøttelse af adaptiv binarisering i firmwaren.
- LED-kompensationssløjfe med dokumentation af temperaturkoefficienten.
Hvis en leverandør ikke kan forpligte sig til tal i ovenstående format, er sensortuningen endnu ikke produktionsklar. For den OCR-motor, der bruger ISP-outputtet, se Reading Pen OCR Engine vs Deep Learning OCR. For billedkvalitet på displaysiden på L5, Q8 og T2, se Reading Pen Display Luminance Uniformity. For OID-dekoderen, se How OID Reading Pen Technology Works. For at anmode om en prøveenhed med ISP-tuneringsrapporten, se /request-a-quote.