Download presentation
Presentation is loading. Please wait.
Published byFelicity Hart Modified over 9 years ago
1
Final Year Project 2008-2009 A CMOS imager with compact digital pixel sensor (BA1-08) Supervisor: Dr. Amine Bermak Group Members: Chang Kwok Hung 06239718 Kwok Kam Kin 06092639 Kwan Tsz Chun 06130704
2
Outline Aim of our project Introduction Pixel Sensor Huffman encoding system Control system Performance Q&A
3
Aims: ◦ To design a compact digital pixel sensor using effective compression scheme based on Different Pulse Code Modulation processing ◦ To implement Huffman encoding scheme in order to provide further compression on the differential signal output Aims of our project
4
Why is image compression important? Minimize storage size Minimize silicon area of the chip Speed enhancement
5
Aim of our project The advantages of a single chip imager: ◦ Low noise ◦ Low power consumption ◦ Total cost is low
6
Aim of our project Comparison between CDD and CMOS Imager CCDCMOS Power consumptionhigherlower Sizelargersmaller Image's qualityhigherlower Multiple functions on chipNoYes
7
Introduction Categories of CMOS Image Sensors ◦ Passive Pixel Sensor (PPS) ◦ Active Pixel Sensor (APS) ◦ Digital Pixel Sensor (DPS)
8
Introduction Passive Pixel Sensor (PPS) Column bus Row select 1.High Fill factor 2.Signal-to-noise ratio (SNR) is poor 3.Shared analog to digital convertor (ADC).
9
Introduction Active Pixel Sensor (APS) Column bus Row select Vdd Reset Simple amplifier 1.Signal amplifier is included 2.Larger SNR 3.Lower fill factor 4.Shared ADC
10
Introduction Digital Pixel Sensor (DPS) Vdd Reset Row select Column bus VrefADC 1.ADC is installed in each pixel. 2.SNR is larger 3.Speed is higher
11
Introduction Comparison between APS and DPS Row Select Column select ADC Row Select Column select Pixel 1 Pixel 2 Pixel 3 Pixel 4 Pixel 1 Pixel 2 Pixel 3 Pixel 4 Pixel select Analog to digital conversion Signal read
12
Differential Pulse Code Modulation
13
By utilizing the difference between the sample values of 2 successive pixels, the number of bits of memory can be reduced As the degree of redundancy is particularly high in normal images, DPCM can effectively decrease the size of the on-chip memory
14
Differential Pulse Code Modulation
16
Pixel Sensor Photodiode Comparator Reconfigurable 5-bits up/down counter
17
Photodiode A photodiode is a reversed-bias diode with internal capacitance Current flows with different magnitudes according to the illumination
18
Pixel Sensor Block diagram
19
Discharge time The discharge time depends on the illumination
20
Reconfigurable up/down counter Count up when receiving a pulse from the current pixel Count down when receiving a pulse from the neighbor pixel
21
Reconfigurable up/down counter
22
Timing Diagram:
23
Potential Problems Overflow problem Crashes of input pulses
24
Overflow handling Overflow is a serious problem as it affects the data recovery in the external environment Solution: Stop counting up when the memory is 01111 Stop counting down when the memory is 10000
25
Crashes of input pulses handling When pulses from the current pixel and the neighbor pixel received at the same time, the counter cannot work Solution Add a buffer to delay one of the pulses Cancelling each other
26
Huffman encoding system Huffman coding A variable-length encoding scheme. Lossless compression Length of the codeword depends on the occurrence of the sample value An example of Huffman coding (http://skylondaworks.com/sc_huff.htm) SYMBOLProbability 1Codeword 1Probability 2Codeword 2 10.125[1 0 1]0.93[0] 20.125[1 0 0]0.02[1 0 0] 30.125[1 1 1]0.0125[1 1 1] 40.125[1 1 0]0.01[1 1 0 0] 50.125[0 0 1]0.01[1 0 1 1] 60.125[0 0 0]0.01[1 0 1 0] 70.125[0 1 1]0.005[1 1 0 1 0] 80.125[0 1 0]0.0025[1 1 0 1 1] Average Length 31.185
27
ProbabilityCodewordProbabilityCodeword -16 0.00188 00100000 0 0.302 11 -15 0.00198 00100001 1 0.16743 0111 -14 0.0023 1000010 2 0.07111 0100 -13 0.00247 1000011 3 0.02435 0000 -12 0.00282 1011010 4 0.01263 01011 -11 0.0034 0010001 5 0.00866 00010 -10 0.00383 100000 6 0.00693 10010 -9 0.00442 100011 7 0.00546 001011 -8 0.00525 101111 8 0.0046 101110 -7 0.00617 001010 9 0.00386 100010 -6 0.00721 10011 10 0.00316 0010011 -5 0.00925 00011 11 0.00279 1011011 -4 0.01262 01010 12 0.00233 1011001 -3 0.02361 1010 13 0.00206 1011000 -2 0.06795 0011 14 0.00204 00100101 0.16504 0110 15 0.00171 00100100 Average Length=3.59 -28.2% from DPCM values Codeword Assignment
28
Performance is content dependent 200185 184180 DPCM ±15 DPCM ±4 8x8 BITMAP (Color not in scale) Huffman codeword length= 8 Resultant size=(8x8-1)x8= 504bits Huffman codeword length= 5 Resultant size=(8x8-1)x5= 315 bits
29
Example of Huffman codeword Photo diode DPCM Huffman codeword Serial link 11111011010010100100 0 2 7 14
30
Codeword Tree
31
Implementation Combinational logic Input: DPCM values from the pixel grid Output: Huffman codeword and its length Pixel grid CONTROL
32
Methodology K-map Common term discovery Solution minimization NAND-NOR combination
33
Methodology – K-Map K-map of CW5
34
Methodology – Common Terms
35
Methodology – NAND-NOR Combination
36
Summary- Huffman encoder Convert DPCM value to Huffman codeword 18 common terms Implementation done by 428 gates
37
Control System It consists of 3 parts ◦ Interface 8-bit Shift Register 4-bit Counter 14-bit Counter ◦ Row Decoder ◦ Column Multiplexer
38
Control System
39
Delay path Control logic interface Hand shake protocol
40
Control Logic Async with data link Hand shake protocol communication 14-bit pixel counter Delay counter
41
Interface Synchronous to datalink Send request to control logic Serve MCU request It consists of 2 main elements ◦ 8-bit Shift Register for huffman code stream ◦ 4-bit Counter for code length
42
Delay counter count down Shift register and length counter load Data transmission, length decrease Length =0 Next pixel value request 14-bit counter increase MCU request
43
Control System Wait if: Delay counter do not finish counting or 14-bit counter reach the top or 4-bit length counter finish counting
44
8-bit Shift Register 1.Receive codeword signal from Hoffman encoder 2.Transfer the received signal to MCU
45
4-bit Counter 1.Keeps tracking the length of the codeword from the Hoffman encoder 2.It is 4 bits since the maximum length of the codeword is 8 3.When the counter value reached zero, shift register is acknowledged to get the new branch of data.
46
14-bit Counter Control the row decoder and column multiplexer to select the right piece of pixel. The 7 less significant bits are connected to column multiplexer while the 7 more significant bits are connected to row decoder.
47
Row Decoder 1. Responsible for selecting the right row of pixel. 2. 7 to 128 decoder is required since there are 128 rows of pixel.
48
Row Decoder 1 to 2 decoder
49
Column Multiplexer 1. Responsible for selecting the right column of pixel. 2. 640 to 5 multiplexer is required since there are 128 columns of pixel and each pixel give out 5bits of signal.
50
Column Multiplexer 2 to 1 multiplexer
51
Performance
52
Performance - Simulation
54
Performance - Power consumption Current waveform of the pixel sensor
55
Performance - Fill factor The fill factor of the imager is about 12 %
56
Performance - Post layout sim.
57
Compression performance Image SizeORIGINALDPCM ONLY (-37.5%) DPCM with Huffman Coding (-55%) 1x11 bytes5 bits (-3 bits) 3.6 bits (-4.4 bits) 128x12816k bytes10k bytes (-6kB) 7.2k bytes (-8.8kB) 640x480 (VGA) 300k bytes187.5k bytes (-112.5kB) 135k bytes (-165kB) 1280x720 (HD 720) 900k bytes562.5k bytes (-337.5kB) 405k bytes (-495kB) Actual compression rate varies from 0% to 75%, depend on the actual content of the image.
58
Performance-Huffman encoder Maximum switching Delay= 2.4ns Maximum possible operation frequency =410MHz
59
Q&A Further explanation
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.