"Inde i læsepennekameraets ISP-pipeline: sensortuning, AEC, AGC, AWB, denoising, og hvordan platformene B1, B2, F8, K7, KF1, L5, P2, Q6, Q8, T2 og Y6 håndterer det."

Opslået den: nov. 18, 2020 - 60 Visninger

Forklaring af ISP- og billedsignalprocessor-arkitekturen i læsepennekameraet

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.


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

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:

  1. LED-lysstyrkefald efterhånden som junction-temperaturen stiger under scanning.
  2. Variation i papirreflektans mellem hvide og tonede (creme, lyseblå) bogopslag.
  3. 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.

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

Relateret læsning

Request a Quote — Get a Fast Factory Response

Frequently Asked Questions

Hvilken billedhastighed kører læsepennekameraets ISP med på tværs af de 11 modeller?
B1, B2, F8 og P2 bruger en 1/13-tommer 30 fps-sensor; K7, KF1, Q6 og Y6 bruger en 1/11-tommer 60 fps-sensor; L5, Q8 og T2 bruger en 1/9-tommer 60 fps-sensor. Højere billedhastighed forbedrer genkendelsen ved hurtige pennebevægelser: ved en scanningshastighed på 200 mm/s optager en 60 fps-sensor ca. 33 % flere billeder per centimeter bevægelse end en 30 fps-sensor.
Hvor hurtigt konvergerer autoeksponeringen, når pennen rører siden?
AEC-sløjfen konvergerer til inden for plus/minus 10 LSB af 130 LSB-målet på 35 til 50 ms på L5, Q8 og T2 ved 60 fps, og på 60 til 70 ms på 30 fps-modellerne. Sløjfen går i hurtigkonvergerende tilstand ved pen-down ved hjælp af en forudberegnet LED-startstrøm på 8 til 14 mA.
Understøtter læsepennens ISP farve eller kun gråtoner?
Alle 11 produktionsmodeller leveres med en monokrom IR-sensor (850 nm på B1, B2, F8, P2; 940 nm på K7, KF1, Q6, Y6, L5, Q8, T2). Farve er unødvendigt, fordi OID-koden er trykt med IR-absorberende blæk, og det eneste meningsfulde signal er luminans mellem prik og baggrund. Tilføjelse af en farvesensor ville øge BOM-omkostningen med ca. 1,20 USD pr. enhed uden genkendelsesmæssig fordel.
Hvad er den målte SNR10 for læsepennesensoren ved fuld forstærkning?
Ved det AEC-låste driftspunkt og fuld AGC måler B1, B2, F8 og P2 33 til 35 dB SNR10; K7, KF1, Q6 og Y6 måler 35 til 37 dB SNR10; og L5, Q8 og T2 måler 38 til 40 dB SNR10. Produktionens AQL frasorterer ethvert modul under 32 dB for det lavere niveau eller 36 dB for det øverste niveau.
Hvor meget strøm bruger ISP-blokken under kontinuerlig scanning?
På L5 ved 60 fps kontinuerlig scan trækker ISP-stien ca. 238 mW: 38 mW til CMOS-sensoren og den analoge frontend, 72 mW til ISP's digitale kerne, 86 mW til LED-driveren, 24 mW til DRAM-båndbredde og 18 mW til clock og IO. Modeller i lavere niveau skalerer til ca. 165 til 190 mW ved 30 fps.
Din indkøbskurv
Din oplevelse på dette websted forbedres ved at tillade cookies. Cookiepolitik
Chat on WhatsApp